• DİKKAT

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

ComboBox da veri Listelemek

Katılım
8 Mart 2007
Mesajlar
582
Excel Vers. ve Dili
excel 2000 Türkçe
Merhaba Arkadaşlar Excel uygulamada UserForm da listede sayfayı seçerek sayfalar arası dolaşıp veri girip kayıt yapıyorum ComboBox1 bulunduğum sayfada C7:C5000 arası sütundan kelimeye göre veri almak istiyorum. Formda aradım genelikle Kodlarda Sayfa adı yazılıyor. Ben sayfa adını istemiyorum hangi sayfada isem o sayfadaki C7:C5000 arası verileri ComboBox1 göstersin.

Aşağıdaki kod var hata veriyor programda. Değişikliği aşağıdaki kod üzerinde yaparsanız sevinirim. Saygılar.

Kod:
Private Sub UserForm_Initialize()
  TextBox1.Text = CDate(Date) 'Form Açılışta otomatik tarih
           
ListBox1.ColumnCount = 11
          ListBox1.ColumnWidths = "20;60;160;30;60;60;40;60;60;60;60"
ListBox1.ColumnHeads = True
ListBox1.RowSource = "A7:K" & [A65536].End(3).Row + 1
       End If
    Next
ComboBox1.RowSource = "Liste!l1:l2"
TextBox29.Text = [a1]
TextBox20.Text = [P1]

ComboBox1_Change
TextBox20 = Format(TextBox20, "#,##0.00")
TextBox21 = Format(TextBox21, "#,##0.00")
TextBox22 = Format(TextBox22, "#,##0.00")

End Sub
 
Son düzenleme:
Sayfa isimli değişkeni istediğiniz gibi düzenleyebilir ya d bir başka yerden referans aldırabilirsiniz.
Siz bulunduğum sayfada dediğiniz için ben böyle yazdım
C++:
Private Sub UserForm_Initialize()
    Sayfa = ActiveSheet.Name
    'Sayfa isimli değişkene şu an bulunduğunuz Excel sayfasının adı atanmıştır
    ComboBox1.RowSource = Sayfa & "!C7:C5000"
End Sub
 
Hocam Sayfa= hata veriyor.

sayfa = ActiveSheet.Name
'
 
Değişken tanımını şart koyduysanız
Kodların başında
Dim Sayfa As String
 
Hocam Kodlar aşağıdaki gibidir.
Run-time error '380'; Hata uyarısı veriyor.

Kod:
Private Sub UserForm_Initialize()

Dim Sayfa As String
  Sayfa = ActiveSheet.Name
    'Sayfa isimli değişkene şu an bulunduğunuz Excel sayfasının adı atanmıştır
    ComboBox1.RowSource = Sayfa & "!C7:C5000"
  
      TextBox1.Text = CDate(Date) 'Form Açılışta otomatik tarih
        
        ListBox1.ColumnCount = 11
                
ListBox1.ColumnWidths = "20;60;160;30;60;60;40;60;60;60;60"
ListBox1.ColumnHeads = True
ListBox1.RowSource = "A7:K" & [A65536].End(3).Row + 1
       'End If
    'Next
ComboBox1.RowSource = "Liste!l1:l2"
TextBox29.Text = [a1]
TextBox20.Text = [P1]
TextBox21.Text = [Q1]
TextBox22.Text = [K2]
TextBox8.Text = [K3]
TextBox9.Text = [K4]
TextBox20.Text = [C2]
TextBox21.Text = [C3]
TextBox22.Text = [C4]

 'ComboBox1_Change
TextBox20 = Format(TextBox20, "#,##0.00")
TextBox21 = Format(TextBox21, "#,##0.00")
TextBox22 = Format(TextBox22, "#,##0.00")
TextBox8 = Format(TextBox8, "#,##0.00")
TextBox9 = Format(TextBox9, "#,##0.00")
End Sub
 
ComboBox1.RowSource = "Liste!l1:l2"
Bu satıra ihtiyacınız yok, yukarıda ComboBox RowSourca belirtildi.

Sizin yapacağınız şey
Sayfa = ActiveSheet.Name
Burada ComboBoxa değerleri alacağınız sayfayı belirlemek. Eğer aktif olan sayfa ise aynen kalabilir.
 
Çok teşekkürler Hocam ellerinize sağlık.
Saygılarımla sağlıklı günler diliyorum.
 
Geri
Üst