ComboBox`a farklı çalışma kitabından veri almak

Katılım
7 Haziran 2006
Mesajlar
13
Excel Vers. ve Dili
Excel 2000 - İngilizce
Merhaba,

Oluşturduğum Userform`a bir combobox ekledim ancak combonun datasını aynı excel dosyası içindeki başka bir sheet`ten almasını istiyorum.

yardımlarınızı rica ederim.

ps: yeni keşfettiğim bu site sayesinde acaip yararlı bilgiler edindim.1-2 günde bile kendi kendime macrolar yazmaya başladım. İşyerindeki arkadaşlar bile yaptıklarıma şaşırmaya başladı :) (bu gidişle bağımlısı olacağım.)

Herkese teşekkür ederim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Merhaba

Öncelikle soru başlığınız ile sorunuz birbirini tutmuyor. Başlıkta, çalışma kitabı, sorunuzda ise ayrı sheetten demişsiniz. Ben sheeti kasdettiğinizi düşünerek şu bilgiyi vereyim. Aktif sayfanın dışındaki bir sayfadan veri alınacaksa referans hücre veya hücreler aralığı tanımlanırken sayfa ismide kod içinde kullanılır. Örneğin;

range("a1") ifadesi aktif sayfadaki A1 hücresini ifade eder.

Buna karşın,

sheets("sayfa3").range("a1") ifadesi ise sayfa3 isimli

sayfanın A1 hücresini ifade edecektir.
 
Katılım
7 Haziran 2006
Mesajlar
13
Excel Vers. ve Dili
Excel 2000 - İngilizce
Evet haklısınız yanlış yazmışım.sheet`i kastettim.

Ancak şöyle bir sorun varki; ben Combobox için yer gösterirken rowsource bölümüne A2:A32 şeklinde data lokasyonunu giriyordum fakat sizin dediğiniz şekilde "sheets("data").range("A2:A32") " giriş yapmaya çalıştığım zaman "invalid property value" uyarısı alıyorum.

Bu formulu tam olarak nasıl ve nereye yerleştirmeliyim ?

Ayrıca hazır tutarsız bir başlık açmışken, ayrı bir çalışma kitabından da veri çağırmayı açıklarsanız sanırım herkes için yararlı olacaktır.

Saygılar,
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Rowsource ile veri alıyorsanız bu durumda aşağıdaki gibi yazmalısınız.

Kod:
ComBobox1.Rowsource="data!a2:a32"
Başka bir çalışma kitabından alıyorsanız diğer dosyanında açık olması kaydı ile aşağıdaki gibi yazılmalıdır.

Kod:
ComboBox1.RowSource = "[Kitap2.xls]data1!a2:a32"
 
Katılım
7 Haziran 2006
Mesajlar
13
Excel Vers. ve Dili
Excel 2000 - İngilizce
Levent bey,

Sanırım ben gerekli yerleştirmeyi yapamıyorum? Ekte örnek bir dosya gönderdim.Ana çalışma sayfam "Ana" , dataların alınması gereken yerde "data" isimli sheet.

Bu örnek üzerinden gidersek çok memnun olacağım.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Userforma aşağıdaki kodu kopyalayın.

Kod:
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "data!a2:a" & [data!a65536].End(3).Row
End Sub
 
Katılım
7 Haziran 2006
Mesajlar
13
Excel Vers. ve Dili
Excel 2000 - İngilizce
Harikasınız! çok teşekkürler..
 
Üst