Skip to main content

AccessTr.neT


ComboBox 'a Veri çekme

ComboBox 'a Veri çekme

#1
Merhabalar;
UserForm1 üzerinde olan Combobox6 'ya, Excel içerisindeki Sayfa1'de B Sütununda ki Adı kısmını nasıl çekebiliriz.
Combobox=Adı &" "& Soyadı şeklinde

Saygılarımla...

.zip combobox veri al.zip (Dosya Boyutu: 167,25 KB | İndirme Sayısı: 15)
Cevapla
#2
Sayın ozkovlu29,

Bahsettiğiniz talebinize yönelik olarak;
Eklediğiniz örneğinizi yeterli inceleme zamanı ve imkanı olmamak ile birlikte,kısa süreli bir gözlem akabinde,aşağıdaki açıklamaların yapılması uygun görülmüştür.

Belki alternatif yöntemlerin de olması veya katılımcılar tarafından önerilmesi muhtemeldir fakat kendi adıma naçizane şu iki yöntemi paylaşmak isterim.

YÖNTEM  1

UserForm1 adlı formun Initialize Olay yordamı bitimine

With ComboBox6

.ColumnHeads = True

.ColumnCount = 2

.ColumnWidths = "50;50"

.RowSource = "=sAYFA1!B2:C10"

.BoundColumn = 0

End With

Kodlarını yazmak sureti ile ilgili ComboBox6 adlı denetim içerisinde Ad ve Soyad sütunlarının bulunmasını sağlayabilirsiniz.

YÖNTEM 2

Yine,aynı olay yordamı içerisine olmak sureti ile

Dim hucresay As Long
   With ComboBox6
       .ColumnCount = 2
       For hucresay = 1 To 10
           .AddItem Range("B2:B10").Cells(hucresay, 1).Value
           .List(.ListCount - 1, 1) = Range("C2:C10").Cells(hucresay, 1).Value
       Next hucresay
   End With

Kodlarını yazmak sureti ile ilgili ComboBox6 adlı denetim içerisinde Ad ve Soyad sütunlarının bulunmasını sağlayabilirsiniz.

NOT
doldurulması gerekli hücreleri BOŞ bırakmayınız.

bilginize…iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#3
Private Sub ComboBox6_Change()
Dim hucresay As Long
   With ComboBox6
       .ColumnCount = 2
       For hucresay = 1 To 10
           .AddItem Range("B2:B10").Cells(hucresay, 1).Value
           .List(.ListCount - 1, 1) = Range("C2:C10").Cells(hucresay, 1).Value
       Next hucresay
   End With
End Sub
Hata veriyor
[Resim: do.php?imgf=147158434589261.png]
Son Düzenleme: 19/08/2016, 08:26, Düzenleyen: ozkovlu29.
Cevapla
#4
Sayın ozkovlu29,

konunuzun 2.mesajında yer alan yöntemlerden herhangi birini denerken,

Alıntı:UserForm1 adlı formun Initialize Olay yordamı bitimine

açıklamasında da belirtildiği üzere;bu kodları,
Combobox'ın DEĞİŞTİĞİNDE olay yordamına değil,UserForm'un INITIALIZE olay yordamındaki kodların bitimine yazmanız gerekmektedir ki,ilk açılışında bu ComboBox denetimi istenilenler ile dolsun.

bilginize...iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#5
Combox a veriler gerldi. Ancak Ad ve Soyad kısımları birleşmedi.
Private Sub UserForm_Initialize() 'combobox a veri çekme
 
Dim hucresay As Long
   With ComboBox6
       .ColumnCount = 2
       For hucresay = 1 To 10
           .AddItem Range("B2:B10").Cells(hucresay, 1).Value
           .List(.ListCount - 1, 1) = Range("C2:C10").Cells(hucresay, 1).Value
       Next hucresay
   End With
   
 With ComboBox6

.ColumnHeads = True

.ColumnCount = 2

.ColumnWidths = "50;50"

.RowSource = "=SAYFA1!B2:C10"

.BoundColumn = 0

End With


End Sub

[Resim: do.php?imgf=147159219338261.png]
Cevapla
#6
Sayın ozkovlu29,

Bahsettiğiniz talebinize yönelik olarak;
Alternatif bir yöntem olarak şu kodları da deneyebilirsiniz.

Yine,kod sayfasında UserForm_Initialize olay yordamı içerisinde yer alan kodların yerine

Private Sub UserForm_Initialize() 'formu tam ekran yapma
   Dim X1 As Long, Y1 As Long, Y2 As Long, X2 As Long
   Dim CX As Double, CY As Double
   Dim MyCtrl As Control
   X1 = Application.Width
   Y1 = Application.Height
   X2 = Me.Width
   Y2 = Me.Height
   CX = X1 / X2
   CY = Y1 / Y2
   Me.Width = X1
   Me.Height = Y1
       For Each MyCtrl In Me.Controls
           MyCtrl.Top = MyCtrl.Top * CY
           MyCtrl.Left = MyCtrl.Left * CX
           MyCtrl.Width = MyCtrl.Width * CX
           MyCtrl.Height = MyCtrl.Height * CY
           On Error Resume Next
               MyCtrl.Font.Size = MyCtrl.Font.Size * CY
           On Error GoTo 0
       Next
     
     
'ATOZ112
'AŞAĞIDAKİ KODLAR DAHİL EDİLMİŞTİR

Dim hucresay
hucresay = 2
Do While Cells(hucresay, 2) <> ""
Me.ComboBox6.AddItem Cells(hucresay, 2) & " " & Cells(hucresay, 3)
hucresay = hucresay + 1
Loop
     
End Sub

Kodlarını dahil edebilirsiniz.

CELLS
Cells(rowIndex, columnIndex)

kod kalıbı ile kullanılmaktadır.

rowIndex,satır numarasını ifade ederken;
columnIndex de,sütun (kolon) numarasını ifade eder.

Cells(hucresay, 2) ifadesi ile 2.satır 2.sütundaki AD kolonunu,
Cells(hucresay, 3) ifadesi ile 2.satır 3.sütundaki SOYAD kolonunu belirtmektedir.

Bilginize…iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task