• DİKKAT

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

Combobox ta değişiklik olanlar.

  • Konbuyu başlatan Konbuyu başlatan tamer42
  • Başlangıç tarihi Başlangıç tarihi

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,202
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Bir UserForm' da 10 adet Combobox mevcut (Combobox1, Combobox2,......, Combobox10)

Userform açıldıktan sonra, kapatılana kadar bunların hangisinde değişiklik yapıldı? Hangilerinde bir değişiklik yapılmadığını öğrenmenin pratik bir yolu var mıdır?

Özetle: "Combobox1", "Combobox2", "Combobox5", "Combobox8" 'de değişiklik yapıldı, diğerlerine dokunulmadı diye bir rapor almak istiyorum.

Class Module ile bu işlem öğrenilebilir mi?

Kod:
Private Sub ComboBox1_Change()
 x=ComboBox1.value
End Sub

Teşekkürler,

iyi Pazarlar.
 
Userforma bir textbox ekleyip, initialize kodlarında bu textbox içeriğini boşaltıp, sonra da örneğini verdiğiniz gibi combobox_change olaylarına bu textbox içeriğini değiştirme satırını ekleyebilirsiniz:


PHP:
Private Sub ComboBox1_Change()
Textbox1.Text = Textbox1.Text & chr(10) & "Combobox1: " & ComboBox1.value
End Sub

İsterseniz bu textbox'ı gizler, userform kapama işleminden sonra textbox içeriğini msgbox olarak gösterebilirsiniz.
 
Userforma bir textbox ekleyip, initialize kodlarında bu textbox içeriğini boşaltıp, sonra da örneğini verdiğiniz gibi combobox_change olaylarına bu textbox içeriğini değiştirme satırını ekleyebilirsiniz:


PHP:
Private Sub ComboBox1_Change()
Textbox1.Text = Textbox1.Text & chr(10) & "Combobox1: " & ComboBox1.value
End Sub

İsterseniz bu textbox'ı gizler, userform kapama işleminden sonra textbox içeriğini msgbox olarak gösterebilirsiniz.
Yusuf bey teşekkürler,
bu şekilde tüm Combobox' lara bu kodları yazmak gerekecek, bunun pratik bir yolu var mı diye araştırıyordum

iyi çalışmalar.
 
Buradaki amaç nedir?
 
Merhaba,
Bir UserForm' da 10 adet Combobox mevcut (Combobox1, Combobox2,......, Combobox10)

Userform açıldıktan sonra, kapatılana kadar bunların hangisinde değişiklik yapıldı? Hangilerinde bir değişiklik yapılmadığını öğrenmenin pratik bir yolu var mıdır?

Özetle: "Combobox1", "Combobox2", "Combobox5", "Combobox8" 'de değişiklik yapıldı, diğerlerine dokunulmadı diye bir rapor almak istiyorum.

Class Module ile bu işlem öğrenilebilir mi?

Kod:
Private Sub ComboBox1_Change()
x=ComboBox1.value
End Sub

Teşekkürler,

iyi Pazarlar.
Öğrenilir.:cool:
 
Merhaba,

Sizin için küçük bir örnek çalışma hazırladım.
Kendi çalışmanıza uyarlayabilirsiniz.
 

Ekli dosyalar

Merhaba,

Sizin için küçük bir örnek çalışma hazırladım.
Kendi çalışmanıza uyarlayabilirsiniz.

Sn Erdem çok teşekkürler,

ekli hata mesajını alıyorum.

iyi çalışmalar.
 

Ekli dosyalar

  • Resim1.jpg
    Resim1.jpg
    40.8 KB · Görüntüleme: 8
Kodun çalışması için module üzerinden çalıştırmanız gerekli.
Class module1'de ki makro'da oluşuyor. Userform ekranından çalıştırırsanız hata verir.
 
Kodun çalışması için module üzerinden çalıştırmanız gerekli.
Class module1'de ki makro'da oluşuyor. Userform ekranından çalıştırırsanız hata verir.
Dosya açılırken userform zaten otomatik açılıyor,

Kod:
Sub auto_open()
ile çalıştırdım yine hata verdi.
 
Debug yaparak hatanın nerede oluştuğunu paylaşabilir misiniz.

Çalışmayı indiren diğer üyelerde hata varsa paylaşabilir misiniz.

Bende sorun görünmüyor.
 
Debug yaparak hatanın nerede oluştuğunu paylaşabilir misiniz.

Çalışmayı indiren diğer üyelerde hata varsa paylaşabilir misiniz.

Bende sorun görünmüyor.
Bende ilk indirdiğimde hiç açılmamıştı ancak şu anda açıldı ve sıkıntısız çalışıyor.
 
Arkadaşlar benim sizden bir ricam var ekteki dosyada combobox ile veri süzme yapılıyor ama combobox'a liste gelirken sütunda tüm veriler değilde tekrarlar teke indirilip listelenebilir mi?
Yani comboboxlerın hemen altındaki yani 2. satırdaki gibi Excel veri süz de olan şekilde olacak. Peki buna ne gerek var diyebilirsiniz ama bu comboboxları userform da kullanacağım. şu haliyle userformda tüm satırlarda bulunan bütün tekrarlar geliyor. aynı kelimeden 2 tanede olsa 50 tane de olsa combobox da 1 görünecek o kelimeyi seçince kelimenin geçtiği tüm satırları süzecek.
Biraz uzun anlattım ama derdimi tam anlatabilmek için yazdım. Kısaca ekteki dosyada 2. satırdaki Veri süz işlemininin aynısını comboboxlar la yapmak
 

Ekli dosyalar

şu online olan Erdem ve Yusuf Bey benim çalışmam ile ilgili yardımcı olabilirmisiniz acaba
 
Debug yaparak hatanın nerede oluştuğunu paylaşabilir misiniz.

Çalışmayı indiren diğer üyelerde hata varsa paylaşabilir misiniz.

Bende sorun görünmüyor.

Ekran görüntüsü ektedir.

iyi çalışmalar.
 

Ekli dosyalar

  • Resim1.jpg
    Resim1.jpg
    50.9 KB · Görüntüleme: 6
"System.Collections" nesnesini VBA'de kullanabilmek için PC'de iyi, kötü bir .Net Framework kurulu olması gerekmektedir.

\%windir%\Microsoft.NET\FrameWork

.
 
Son düzenleme:
şu online olan Erdem ve Yusuf Bey benim çalışmam ile ilgili yardımcı olabilirmisiniz acaba

Aşağıdaki kodu kendi çalışmanıza uyarlayın.

Kod:
Private Sub ComboBox1_GotFocus()
Set s = CreateObject("Scripting.Dictionary")

son = Cells(Rows.Count, 1).End(3).Row
For i = 3 To son

If Not s.Exists(Cells(i, 1).Value) Then
s.Add Cells(i, 1).Value, Nothing
End If

Next i

ComboBox1.List = s.keys

End Sub
 
Aşağıdaki kodu kendi çalışmanıza uyarlayın.

Kod:
Private Sub ComboBox1_GotFocus()
Set s = CreateObject("Scripting.Dictionary")

son = Cells(Rows.Count, 1).End(3).Row
For i = 3 To son

If Not s.Exists(Cells(i, 1).Value) Then
s.Add Cells(i, 1).Value, Nothing
End If

Next i

ComboBox1.List = s.keys

End Sub

Erdem bey ilginize teşekkürler. yazdığınız kod benim eklediğim dosyadaki excel sayfasında gayet güzel çalıştı. Ama o kodları Userform üzerindeki combobox'a uygulamak istedim ama Combobox_GotFocuc() seçeneği yok. Userform da bu özelliğin görevini yapacak bir seçenek var mı

Excel sayfasındaki combobox kod seçenekleri penceresi
215127

Ama Userform daki combobox da bu seçenek yok

215125
 

Ekli dosyalar

  • 1583859343795.png
    1583859343795.png
    42.7 KB · Görüntüleme: 0
Geri
Üst