Her bir satırda yer alan 4 adet hücredeki en büyük değeri 5. hücreye yazdırma.

Katılım
14 Nisan 2009
Mesajlar
45
Excel Vers. ve Dili
2003-tr
Merhabalar,
"I2, J2, K2, L2" den itibaren "n" tane satırdan oluşan veri tablosunda her satır için ayrı ayrı "en büyük sayısal değerin" bulunup "O2" den itibaren her bir satıra ayrı ayrı yazılmasını sağlayacak makro koduna ihtiyacım var.
Tek satır için "makro kaydet" işlevi ile birşeyler yapabildim ancak "B" sütunundaki son veri satırı kadar döngü kurulması işlevini yapamadım malesef.
Yardımıcı olabilecek arkadaşlara şimdiden çok teşekkür ediyorum.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,862
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
Dosya yükleme sitelerinden birine örnek bir dosya hazırlayıp manuel olarak olması gerekeni dosyada belirtirseniz, daha çabuk yanıtlar alırsınız.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba
Deneyiniz.

C++:
Sub makdeger()
For i = 2 To Range("L1048576").End(3).Row
Range("O" & i) = Application.WorksheetFunction.Max(Range("I" & i & ":" & "L" & i))
Next
End Sub
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,862
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
@uzmanamele Hocam daha kısa kod ile çözmüş ama alternatif olsun

bir modül içine kopyalayıp deneyiniz

Kod:
Sub enbuyukdeger()
      Dim hcr As Range: Dim i As Long
      i = 2
      For Each hcr In Range("L2:L50")
            hcr.Offset(0, 5) = Application.WorksheetFunction.Max(Range("I" & i & ":" & "L" & i))
            i = i + 1
      Next hcr
End Sub
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Teşekkürler
Örnek dosya ektedir.
örnek dosya.xlsx - 17 KB

C++:
Sub EnBuyukSayiBul()
    Dim sonSatir As Long
    Dim i As Long, j As Long
    Dim enBuyukSayi As Double
   
    sonSatir = ActiveSheet.Range("I" & Rows.Count).End(xlUp).Row
   
    For i = 2 To sonSatir
        enBuyukSayi = ActiveSheet.Range("I" & i).Value
        For j = 10 To 12
            If ActiveSheet.Range(Chr(Asc("I") + j - 9) & i).Value > enBuyukSayi Then
                enBuyukSayi = ActiveSheet.Range(Chr(Asc("I") + j - 9) & i).Value
            ElseIf ActiveSheet.Range(Chr(Asc("I") + j - 9) & i).Value = enBuyukSayi Then
                enBuyukSayi = ActiveSheet.Range(Chr(Asc("I") + j - 9) & i).Value
            End If
        Next j
        ActiveSheet.Range("O" & i).Value = enBuyukSayi
    Next i
   
    MsgBox "En büyük sayılar aktarıldı!"
End Sub
***

 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,246
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

C++:
Option Explicit

Sub Max_Value()
    With Range("O2:O" & Cells(Rows.Count, 2).End(3).Row)
        .Cells(1.1).Resize(Rows.Count - 1).ClearContents
        .Formula = "=MAX(I2:L2)"
        .Value = .Value
    End With
End Sub
 
Katılım
14 Nisan 2009
Mesajlar
45
Excel Vers. ve Dili
2003-tr
Farklı çözümler üreten tüm arkadaşlara çok teşekkür ediyorum
Kamuda görev yapan bir mühendis olarak ve malesef mesleki görevlerimin yoğunluğu nedeniyle makro uygulamalarında kendimi çok geliştime fırsatım olmadığı için gerek www.excel.web.tr platformunda gerekse farklı alternatif platformlardaki yardımsever uzman arkadaşlarımızın destekleri ile görev yaptığım kurumdaki işlerimizin daha ekonomik ve hızlı yürütülmesine sağladığınız çok önemli katkılardan dolayı teşekkür ediyorum.
Buralardan aldığım temel kodlar üzerinde geliştirmeler yaparak excell tablolarımda yeni yeni çözümler üretebiliyorum.İnanın uzman arkadaşlar için bir kaç dk 'da çözülebilecek uygulama kodları için bazen sabahlara kadar araştırma veya çalışmalar yaptığım oluyor. Yani, burada soru konusu ettiğim bir konu varsa hiç bir fikrim olmadığı içindir.
Tekrar teşekkürler.
 
Üst