Farklı zamanlarda aynı hücreye girilen en yüksek değeri başka hücreye yazma

Katılım
25 Ekim 2023
Mesajlar
3
Excel Vers. ve Dili
Pro Plus 2016 / Türkçe
Herkese merhaba, başlıktaki istenileni tam olarak açıklayacak olursam;

a1 hücresine "15" sayı değeri girildi. c1 hücresi, a1 hücresindeki veriyi (olması gereken fonksiyon ile) kendine yazdı. (Burası ilk adımı) Eğer bu a1 hücresine önceki "15" değerinden yüksek, mesela "17" değeri girilince "15"en yüksek olduğu için c1'e "17" yazacak. Ama eğer a1 hücresine "17"den küçük (16-15-14) bir değer girilirse bunu c1'e yazmayacak. O zaman kadar girilen en büyük değer hangisiyse sadece onu yazacak, azalanı değil yükseleni yazması lazım. Yardımcı olursanız sevinirim.
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Merhaba,

Sayfanın kod bölümüne aşağıdaki kodu yapıştırabilirsiniz. Kod örneğinizdeki hücrelere (C1,A1) göre çalışıyor, dilerseniz değiştirebilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 Or Target.Column > 1 Then Exit Sub
If IsNumeric(Target.Value) Then
If Range("A1").Value > Range("C1").Value Then Range("C1").Value = Range("A1").Value
End If
End Sub
 
Katılım
25 Ekim 2023
Mesajlar
3
Excel Vers. ve Dili
Pro Plus 2016 / Türkçe
Çok teşekkür ederim tam istediğim buydu. Son kez bir şey sormak istiyorum. Bunu nasıl çoğaltabiliriz? Yani a1'i c1'e, a2'yi c2'ye, a3'ü c3'e gibi gibi

Merhaba,

Sayfanın kod bölümüne aşağıdaki kodu yapıştırabilirsiniz. Kod örneğinizdeki hücrelere (C1,A1) göre çalışıyor, dilerseniz değiştirebilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 Or Target.Column > 1 Then Exit Sub
If IsNumeric(Target.Value) Then
If Range("A1").Value > Range("C1").Value Then Range("C1").Value = Range("A1").Value
End If
End Sub
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Merhaba,

Aşağıdaki kod ile tüm satırlar için aynı fonksiyonu çalıştırabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub
If IsNumeric(Target.Value) Then
If Cells(Target.Row, 1).Value > Cells(Target.Row, 3).Value Then Cells(Target.Row, 3).Value = Cells(Target.Row, 1).Value
End If
End Sub
 
Katılım
25 Ekim 2023
Mesajlar
3
Excel Vers. ve Dili
Pro Plus 2016 / Türkçe
Teşekkür ederim sağolun.
 
Üst