Makro Combobox Hücre bağlantısı ekleme

Katılım
2 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2007 türkçe
Merhaba arkadaşlar,

Bir konu hakkında yardıma ihtiyacım var.
1- Öncelikle excelde bir combobox oluşturdum. Burada Girdi aralığını A29:A30, Hücre aralığını ise A12'ye oluşturdum. Bu oluşturmuş olduğum combobox'ı ayrıyeten makro userformda oluşturdum. Aynı şekilde çalışmasını istiyorum ama userform üzerinde oluşturmuş olduğum combobox'a hücre aralığı atayamıyorum.
2- İkincisi ise excel üzerinde bazı sütun ve satırlarda oluşturmuş olduğum bilgilerin aynısını makroda userform üzerinde Listbox'lar oluşturdum. Orada görmek istiyorum ama olmuyor.

Yardım edebilecek arkadaşlar varsa çok sevinirim.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Hücre aralığı atayarak çalışmak istiyorsanız RowSource özelliğini kullanabilirsiniz.
Bunu ComboBox1.RowSource = "=Sayfa1!A1:A10" şeklinde kod ile yapabileceğiniz gibi vba içerisinde properties penceresinden (açık değilse F4 ile açabilirsiniz) combobox veya listboxa ait RowSource özelliğine Sayfa1!A1:A10 şeklinde giriş yaparak da yapabilirsiniz.
 
Katılım
2 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2007 türkçe
Ömer Bey Merhaba,

Öncelikle cevabınız için teşekkür ederim. Lakin rowsource ile oradaki girdiyi ayarladım ama harici bir hücre arılığı için ise A12'yi atamak istiyorum. Resim ekliyorum. Bakabilir misiniz?Resim
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Bu işlemi userform içerisine kod girerek yapmanız gerekiyor.
Örnek kod:
Kod:
Private Sub ComboBox1_Change()
Sheets("Sayfa1").Range("A12") = ComboBox1.Value
End Sub
 
Katılım
2 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2007 türkçe
Göndermiş olduğunuz kod benim A12 hücresindeki formülü değiştiriyor. Ben o formülün aynı kalmasını istiyorum. A12 hücresinin içeriği combobox'a bağlıdır. Benim amacım combobox kutusunu bir hücreye bağlamak istiyorum. combobox içerisindeki verileri seçtiğimde A12 hücresine bağlı olarak çalışmasını istiyorum.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Göndermiş olduğunuz kod benim A12 hücresindeki formülü değiştiriyor. Ben o formülün aynı kalmasını istiyorum.
Benim amacım combobox kutusunu bir hücreye bağlamak istiyorum. combobox içerisindeki verileri seçtiğimde A12 hücresine bağlı olarak çalışmasını istiyorum.
Ya ben yanlış anladım ya da yukarıdaki iki ifade çelişkili: A12 hem değişmeyecek (çünkü formül var), hem de Combobox'a bağlı çalışacak, bunu anlayamadım.
Bununla birlikte yukarıda verdiğim kod userform içine yazıldığında combobox değiştikçe comboboxta seçilen değeri A12 hücresine yazar. Eğer değerin değilde sayfa içindeki combobox gibi seçilen sıranın yazılmasını istiyorsanız kodu aşağıdaki şekilde kullanınız.
Kod:
Private Sub ComboBox1_Change()
Sheets("Sayfa1").Range("A12") = ComboBox1.ListIndex + 1
End Sub
Ya da bir örnek dosya paylaşınız...
 
Katılım
2 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2007 türkçe
Aynen saatlerdir bulabilmek için uğraşıydum. İşe yaradı en son gönderdiğiniz kod. Çok teşekkür ederim. :)
Diğer takıldığım nokta ise 2. madde de yazdığım alan. Onun içinde yardımcı olabilir misiniz?
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Listbox'un RowSource özelliği işinizi görmüyor mu?
 
Katılım
2 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2007 türkçe
Resim ekledim. Combobox'ta standart yada dali kısmını seçtikçe yuvarlak içine aldığım kısımların Listboxta listelenmesi gerekiyor.

Onu nasıl yapabilirim?

Resim
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Resim yerine örnek dosya paylaşırsanız üretilen çözüm dosya üzerinde denenebilir ve daha sağlıklı çözümler üretilir.
Aşağıdaki kodu deneyiniz...
Kod:
Private Sub ComboBox1_Change()
Sheets("Sayfa1").Range("A12") = ComboBox1.ListIndex + 1
ListBox1.ColumnCount = 6 'Listbox sütun sayısı
ListBox1.ColumnHeads = True 'Başlık olsun mu
If ComboBox1.Value = "STANDART" Then
    ListBox1.RowSource = "=Sayfa1!G14:L20"
ElseIf ComboBox1.Value = "DALI" Then
    ListBox1.RowSource = "=Sayfa1!G26:L32"
Else
    ListBox1.ColumnHeads = False
    ListBox1.RowSource = ""
End If
End Sub
 
Katılım
2 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2007 türkçe
Elinize sağlık. Çok güzel oldu. Dosya paylaşma kısmında hata verdiği için yükleyemedim.
Sizden son bir ricam;
-Sütunlar arası mesafeyi nasıl ayarlayabilirim yazılar tam gözükmüyor. Kimi sütunu daha genişletmem gerekiyor.
-Başlık yazılarının puntosunu nasıl kalınlaştırabilirim.
-Ayrıyeten başlık kısmını ve yazıları nasıl ortalayabilirim?

Bu saatte ilgilendiğiniz içinde ayrıyeten teşekkür ederim.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
-Sütunlar arası mesafeyi nasıl ayarlayabilirim yazılar tam gözükmüyor. Kimi sütunu daha genişletmem gerekiyor.
Properties penceresinden ColumnWidths değeri girebilirsiniz. Kod isterseniz: ListBox1.ColumnWidths = "25,25,50,60,100,75" değerleri kendinize göre değiştiriniz.
-Başlık yazılarının puntosunu nasıl kalınlaştırabilirim.
Başlık için özel punto ayarlanmıyor. Başlık yerine ListBox'un üstüne labeller ekleyebilirsiniz. Başlık gibi gözükür...
-Ayrıyeten başlık kısmını ve yazıları nasıl ortalayabilirim?
Yine Properties penceresinden TextAlign değerini Center olarak ayarlayabilirsiniz. Kod ile yapmak isterseniz: ListBox1.TextAlign = fmTextAlignCenter
Bu saatte ilgilendiğiniz içinde ayrıyeten teşekkür ederim.
Rica ederim,
İyi geceler, iyi çalışmalar...
 
Katılım
2 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2007 türkçe
Çok saolun teşekkür ederim. Size dosyayı link olarak göndermiştim. Onu oradan silebilir miyiz?
Firma için kullandığımız bir çalışma yayılmasın istiyoruz.

İyi akşamlar.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
İlgili mesajınızın sol altındaki düzenle butonuna basarak mesajınızı düzenleyebilirsiniz.
Eğer düzenleme aktif değilse site yöneticilerinden silinmesini talep edebilirsiniz. (bizim yetkimiz yok).
Ya da dosyanızı yüklediğiniz siteden dosyanızı silmek için verilen kodu kullanarak dosyanızı silebilirsiniz (tabi bunu not almışsanız)
 
Son düzenleme:
Katılım
2 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2007 türkçe
Ömer Bey Merhaba,

Sizden geçtiğimiz haftalarda yardım istemiştim. Fakat bir konuda daha yardıma ihtiyacım var. :) Size bir resim gönderiyorum.
Derdimi anlatmış oldum diye düşünüyorum. :)
 
Üst