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...
ComboBox 'a Veri çekme
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
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
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.
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.
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
Son Düzenleme: 19/08/2016, 08:26, Düzenleyen: ozkovlu29.
Sayın ozkovlu29,
konunuzun 2.mesajında yer alan yöntemlerden herhangi birini denerken,
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.
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.
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
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
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.
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.
Konuyu Okuyanlar: 1 Ziyaretçi