• DİKKAT

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

Combo Box ile İlgili küçük Bir yardım Tardım

Katılım
25 Temmuz 2008
Mesajlar
29
Excel Vers. ve Dili
Excel 2007 / Türkçe
Combo Box ile İlgili küçük Bir yardım Yardım

1. Ekteki dosyada comboboxlarla seçtiğim verilerin döküman kaydedilip tekrar açıldığında kaydettiğim şekli ile gelmesini istiyorum. Şu hali ile dökümanı yeniden açınca bütün form boşalarak geliyor.

2. Yukarıda ki madde mümkün değilse, Sheet 1 tablosundaki combo box larda seçilen verilerin sıra ile sheet2 deki aynı tasarıma sahip tabloya aktarılmasını istiyorum. (Bunu önerecekseniz sadece ilk 2 hücre için kod yazarsanız sevinirim.)

Normalde bir teklif formu olan bu tabloyu farklı kaydederek verilen tekliflere yeniden ulaşılmasını sağlayacak işleve getirmek istiyorum teşekkürler
 

Ekli dosyalar

Son düzenleme:
Merhaba,
4. comboboxlar dışında comboların Change olayını çalıştırıyorsunuz. Bu durumda her change olayından sonra ilgili hücre ve combo için aktarma satırı ekleyebilirsiniz.
Örneğin: Combobox1_Change kodunun sonuna:
Kod:
Sheets("Sheet2").Cells(7, 1) = ComboBox1.Text
satırını ekleyerek aktarma yapabilirsiniz.
4. combolar için ise ayrıca bir change çalıştırabilir veya 3. Combobox kodlarının sonuna hem hem 3. Combobox için hem de 4. combobox için aktarma ekleyebilirsiniz.
 
Evet dediğim şey bu ancak bir sorun var. Dosyayı kaydedip kapatıp tekrar açtığımda combo boxlar boşaldığı için Sheet2 deki hücrelere akratılan verilerde boşalıyor. bunu nasıl düzelteceğiz ?
 
Son düzenleme:
Tabi kodu

Kod:
Sheets("Sheet2").Cells(7, 2) = ComboBox1.Text

olarakta değiştirdim
 
Combobox_Change kodlarının ilk satırına: Combobox1'i örnek olarak veriyorum.
Kod:
if Combobox1="" then exit sub
satırını ekleyin.
 
Aynı sıkıntı devam ediyor.
Dosyayı yeniden açınca combo box boşaldığı için, sheet2 deki tabloya aktarılan verilerde siliniyor
Dosyanın son halini ekledim
 

Ekli dosyalar

Merhaba,
Dosyanızda Change dışında kodlar var. Bunları kontrol edin.
Örneğin; kırmızı ile belirttiğim satırı devre dışı bırakıp deneyin.
Kod:
Sub combo1()
Dim sat As Long, i As Long
Sheets("Sheet1").ComboBox1.Clear
sat = Sheets("Sheet1").Cells(65536, "J").End(xlUp).Row
For i = 2 To sat
     If WorksheetFunction.CountIf(Sheets("Sheet1").Range("J2:J" & i), Cells(i, "J").Value) = 1 Then
        Sheets("Sheet1").ComboBox1.AddItem Sheets("Sheet1").Cells(i, "J").Value
    End If
Next
[COLOR="DarkRed"]'If Sheets("Sheet1").ComboBox1.ListCount > 0 Then Sheets("Sheet1").ComboBox1.ListIndex = 0[/COLOR]
End Sub
 
Combo Boxlarda oluşan bir aksilik ( çalışamaya mani olmadığı için şimdilik önemsiz ) dışında tam istediğim şey. Dediğiniz düzenlemeleri yapıp tekrar döneceğim buraya
Teşekkür ederim
 
Aşağıdaki kod sayfa geçişinde devreye giriyor. Bunu kullanma sebebiniz nedir? Sayfa2'ye geçip tekrar döndüğünüzde bu kod comboboxların boşalmasına sebep oluyor. Gerekli bir kod değilse bunu silebilirsiniz. Auto_Open'da bulunan kodlar buradaki işlevi zaaten gerçekleştiriyor.
Kod:
Private Sub Worksheet_Activate()
Call combo1
Call combo2
Call combo3
Call combo4
Call combo5
Call combo6
Call combo7
Call combo8
Call combo9
Call combo10
Call combo11
Call combo12
Call combo13
Call combo14
Call combo15
Call combo16
Call combo17
Call combo18
Call combo19
Call combo20
End Sub
 
Aşağıdaki kod sayfa geçişinde devreye giriyor. Bunu kullanma sebebiniz nedir? Sayfa2'ye geçip tekrar döndüğünüzde bu kod comboboxların boşalmasına sebep oluyor. Gerekli bir kod değilse bunu silebilirsiniz. Auto_Open'da bulunan kodlar buradaki işlevi zaaten gerçekleştiriyor.
Kod:
Call combo1
Call combo2
Call combo3
Call combo4
Call combo5
Call combo6
Call combo7
Call combo8
Call combo9
Call combo10
Call combo11
Call combo12
Call combo13
Call combo14
Call combo15
Call combo16
Call combo17
Call combo18
Call combo19
Call combo20

Kod:
Next
[COLOR="Red"]'If Sheets("Sheet1").ComboBox1.ListCount > 0 Then Sheets("Sheet1").ComboBox1.ListIndex = 0[/COLOR]
End Sub


Çok teşekkür ederim Sheet2 ye veri aktarmaya falan gerek kalmadı. Aradığım şey yukaroıda bahsetiğiniz kodların silinmeymiş.
 
Son düzenleme:
Geri
Üst