En büyük olan sayıyı başka sayfaya yazdırma nasıl yapılır

Katılım
11 Ağustos 2023
Mesajlar
103
Excel Vers. ve Dili
Microsoft 365 Tr 64 Bit
Altın Üyelik Bitiş Tarihi
29-11-2024
Merhaba değerli arkadaşlar,

excel 1. sekmem de AO:AO sütunumda
"0300/00106" yazıyor
en son bunu yazmışım mesela bugün 100 sayı arttı "0300/00206" oldu diyelim
en büyüğünü başka bir sekmede A:A sütununa yazdırabilir miyim.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba, kayıtlarınız sıralı olarak devam ediyorsa, en son kayıt edilen veriyi
Kod:
=ARA(2;1/(Sayfa2!AO:AO<>"");Sayfa2!AO:AO)
formülü ile alabilirsiniz. Not: Kayıtlar Sayfa2 de olarak varsayılmıştır.
 

MusaPEKEL

Altın Üye
Katılım
29 Ağustos 2016
Mesajlar
65
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
16-01-2027
Bu kod, "Sayfa1" adlı ilk sekmedeki AO sütunundaki en büyük değeri "Sayfa2" adlı ikinci bir sekmedeki A1 hücresine yazacaktır.

Kod:
Sub EnBuyukDegeriYazdir()
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim enBuyukDeger As Double
    
    ' Çalışma kitabındaki ilgili sayfaları belirtin
    Set ws1 = ThisWorkbook.Sheets("Sayfa1") ' "Sayfa1" kısmını kendi sayfa adınıza göre değiştirin
    Set ws2 = ThisWorkbook.Sheets("Sayfa2") ' "Sayfa2" kısmını en büyük değeri yazdırmak istediğiniz sayfa adına göre değiştirin
    
    ' AO sütunundaki en büyük değeri bulun
    enBuyukDeger = WorksheetFunction.Max(ws1.Range("AO:AO"))
    
    ' En büyük değeri başka bir sayfaya yazdırın
    ws2.Range("A1").Value = enBuyukDeger
End Sub
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba @MusaPEKEL Bey küçük bir bilgilendirme yapmak için yazıyorum.
Paylaştığınız kod sayısal verilerde işlem yapar ancak ilk mesajda belirtilen 0300/00106 gibi veriler sayısal olmadığı için Max fonksiyonu büyük olan değeri bulamaz, Max ile işlem yapmak için 0300/00106 verisini parçalayıp sondaki değere göre işlem yapmak gerekir.

Örnek olarak;
Not: 0300/ kısmı sabit olarak varsayılmıştır.
Kod:
Sub test()
x = 0
ReDim dizi(x)
    For i = 1 To Range("AO" & Rows.Count).End(3).Row
    ReDim Preserve dizi(x)
        dizi(x) = Right(Cells(i, "AO"), 5) * 1
        x = x + 1
    Next i
    
buyuk = WorksheetFunction.Max(dizi)

    If Len(buyuk) < 5 Then
        sıfır = WorksheetFunction.Rept(0, 5 - Len(buyuk))
        buyuk = "0300/" & sıfır & buyuk
    Else
        buyuk = "0300/" & buyuk
    End If
    
Sayfa2.Range("A1") = buyuk
End Sub
 
Son düzenleme:
Üst