• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Userformda excel sütunu seçme ?

Katılım
31 Ağustos 2010
Mesajlar
387
Excel Vers. ve Dili
Excel 2007-2010 Eng
Open Office Trk
Selamlar burda yaptığım A sütununa girdiğim veriler içerisinde bulma ve değiştirme işlemi yapıyorum.

Yapmak istediğim ise userformda bu işlemi excelde istediğim sütuna göre yapmak. Bu şeçim kodları konusunda yardıma ihtiyacım var.

Şimdiden yardımlarınız için çok çok teşekkürler...
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Bu şekilde deneyiniz.

ComboBox3 'den sütun seçimini sayı ile yapacağınızı düşünerek yazdım

Kod:
Private Sub CommandButton2_Click()
 
    Application.ScreenUpdating = False
 
    Columns(Val(ComboBox3.Value)).Replace ComboBox1.Value, ComboBox2.Value
 
    ComboBox1.Value = ""
    ComboBox2.Value = ""
 
    Application.ScreenUpdating = True
 
End Sub
.
 
Hocam vakit ayırdığınız için teşekkür ederim ama ben kodları anlayamadım. Yada ben yanlış anlattım sanırım. ( örnek dosyayı yeniledim.)

Bu userform zaten A sütunun görüyor ve bulma-değiştirme işlemini A sütunu üzerinde yapabiliyorum. Benim istediğim "Sütun seç" dediğim kısımda excel deki A,B,..,Z gibi sütun seçme imkanı ve sonrasında Combobox1 ve 2 nin combobox3 de seçtiğim sütundaki verileri görmesi.

Birkez daha inceleyebilirseniz çok memnun kalırım..
 
Formda bulunan tüm kodları silerek aşağıdakileri ekleyiniz. İlgili sütuna veri alırken benzersiz olarak alması için de ilave yaptım. Bu şekilde aradığınızı daha kolay bulabilirsiniz.

Kod:
Private Sub ComboBox3_Change()
    Dim i As Long, hucre As Variant
    Dim d
    
    With CreateObject("Scripting.Dictionary")
        For i = 1 To Cells(Rows.Count, ComboBox3.Value).End(xlUp).Row
            hucre = Cells(i, ComboBox3.Value)
            If Not .exists(hucre) Then .Add hucre, Nothing
        Next i
    d = .keys
    End With
    
    With Me.ComboBox1
        .Clear
        .List = d
        .ListIndex = 1
    End With
    
    With Me.ComboBox2
        .Clear
        .List = d
        .ListIndex = 1
    End With
    
    ComboBox1.Value = "": ComboBox2.Value = ""
    
End Sub
 
Private Sub CommandButton2_Click()
 
    Columns(ComboBox3.ListIndex + 1).Replace ComboBox1.Value, ComboBox2.Value
 
    ComboBox1.Value = "": ComboBox2.Value = ""
 
End Sub

Private Sub UserForm_Initialize()
    Dim i As Integer
        
    For i = 1 To Columns.Count
        Me.ComboBox3.AddItem Split(Cells(1, i).Address(0, 0), 1)(0)
    Next i
    
    CommandButton2.BackColor = vbRed
    CommandButton1.BackColor = vbYellow
    
End Sub
 
Private Sub CommandButton1_Click()
 
    Dim c As Range, ilkadres As Variant
    
    With Columns(ComboBox3.ListIndex + 1)
        .Interior.ColorIndex = 0
        Set c = .Find(ComboBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            ilkadres = c.Address
            Do
                Cells(c.Row, ComboBox3.Value).Interior.ColorIndex = 6
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> ilkadres
        End If
    End With
 
End Sub
.
 
Hocam nekadar teşekkür etsem azdır. Çok işimi görecek. Ellerinize kollarınıza sağlık. saygılar selamlar...
 
Geri
Üst