Soru Aynı kod yapısını farklı bir sutun için gerçekleştirmek

balanar

Altın Üye
Katılım
22 Şubat 2021
Mesajlar
347
Excel Vers. ve Dili
Excel 2007
Altın Üyelik Bitiş Tarihi
09-03-2027
Merhaba, şimdi aşağıdaki kod ile combobox1'den yapılan seçimle commandbutton1'e tıkladıgımda istediğim işlevi yapıyor.

Burada tıkandığım konu şu. Combobox2, combobox3, combobox4, combobox5 ekleyeceğim. Hepsinde çalışacak kod aynı ama sadece ilgili Sutunları farklı aynı butonda nasıl yapabilirim?

Yani aşağıdaki combobox1 ile bakılacak sutun G2:G iken
combobox2 de M2:M
combobox3 de Z2:Z

kullanacağım gibi. Ama hangi combobox seçilirse tek commandbutton1 ile calistirabilmek

Kod:
Dim Aranan, ilkAdres As String, y()
Dim KoNTroLYeRi, Bulunan As Range
Set s1 = Sheets("TumListe")
Set s2 = Sheets("Rapor")

s2.Rows("6:1000").Clear
ss = s1.Range("G" & Rows.Count).End(xlUp).Row
Aranan = ComboBox1.Value
    Set KoNTroLYeRi = s1.Range("G2:G" & ss)
    Set Bulunan = KoNTroLYeRi.Find(Aranan)
    If Bulunan Is Nothing Then
      MsgBox "veri yok"
        Exit Sub
    End If
ilkAdres = Bulunan.Address
    Do
    x = x + 1: ReDim Preserve y(x)
        
        Set Bulunan = KoNTroLYeRi.FindNext(Bulunan)
        y(x) = Bulunan.Row
    Loop While ilkAdres <> Bulunan.Address
    sat = 6
    For i = 1 To x
    s1.Range("A" & y(i) & ":AD" & y(i)).Copy s2.Range("A" & sat)
    sat = sat + 1
    Next i
    s2.Range("A4") = ComboBox1.Value & " için " & sat - 6 & " adet veri bulunmuştur."
    s1.Range("A1").Select
    ComboBox1.Value = ""
    Application.FindFormat.Clear
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodda Commobox1, 2 ve 3'ün hangisi dolu ise sayfada ona göre seçim yapar.
Bu örneği inceleyerek kendinize uyarlayınız.

Kod:
Private Sub CommandButton1_Click()

    Dim Sut As Integer
    Dim Sat As Long
    
    Sat = 10
    
    If Not ComboBox1.Value = "" Then
        Sut = 0
    ElseIf Not ComboBox2.Value = "" Then
        Sut = 6
    Else
        Sut = 19
    End If
        
    Range("G2:G" & Sat).Offset(0, Sut).Select
    
End Sub
 
Üst