• DİKKAT

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

UserForm dan diğer userformlara veri aktarma

Katılım
15 Haziran 2007
Mesajlar
115
Excel Vers. ve Dili
2003 Türkçe
Selam arkadaşlar,
Takıldığım bir konu var;
userfomu açıyorum, rehber adlı diğer userformu çağırıyorum. bu formda cari ve stok olarak ayrı butonlarla ayrı sayfalardan verileri listview e getiriyorum. sonra birinci forma aktarıyorum.
İstediğim ise;
cari rehberini seçince cariye ait bilgiler ilgili alanlara
stok rehberini seçince stokla ilgili bilgiler ilgili alanlara aktarılsın.
Becerebilirsem 4 adet ayrı formu 1 adete düşürebileceğim.
Ekte dosyamın küçük bir bölümünü ekledim. Yardımcı olabilirseniz sevinirim.

Saygılarımla,
Tansu
 

Ekli dosyalar

bu kodu denermisiniz.
Private Sub ListView1_Click()
On Error Resume Next
If ListView1.ListItems.count = 0 Then Exit Sub
x = ListView1.SelectedItem.index
TextBox1.Text = ListView1.ListItems(x)
TextBox2.Text = ListView1.ListItems(x).ListSubItems(1).Text
TextBox3.Text = ListView1.ListItems(x).ListSubItems(2).Text
TextBox4.Text = ListView1.ListItems(x).ListSubItems(3).Text
End Sub

bunlarıda kaldırmalısınız.

Private Sub TextBox1_Change()
Private Sub TextBox2_Change()
Private Sub TextBox3_Change()
Private Sub TextBox4_Change()
 
Ekli dosyayı kontrol ediniz.
 

Ekli dosyalar

Merhaba Halit,
İlgine teşekkür ederim.

Private Sub ListView1_DblClick()
On Error Resume Next
If ListView1.ListItems.count = 0 Then Exit Sub
'Burada GeneralGuida taki textboxlara alıyorum.
x = ListView1.SelectedItem.index
TextBox1.Text = ListView1.ListItems(x)
TextBox2.Text = ListView1.ListItems(x).ListSubItems(1).Text
TextBox3.Text = ListView1.ListItems(x).ListSubItems(2).Text
' burada InvoiceForm daki Cari alanlara aktarıyorum
InvoiceForm.Label1 = ListView1.ListItems(x).ListSubItems(1).Text
InvoiceForm.Label2 = ListView1.ListItems(x).ListSubItems(2).Text
InvoiceForm.Label5 = ListView1.ListItems(x).ListSubItems(3).Text
InvoiceForm.Label6 = ListView1.ListItems(x).ListSubItems(5).Text

'GeneralGuida da stok sayfasını seçiyorum, veriler geliyor burada 'InvoiceForm daki stok alanlarına aktarmak istiyorum.

InvoiceForm.TextBox3 = ListView1.ListItems(x).ListSubItems(1).Text
InvoiceForm.TextBox4 = ListView1.ListItems(x).ListSubItems(2).Text
InvoiceForm.TextBox6 = ListView1.ListItems(x).ListSubItems(3).Text
InvoiceForm.TextBox15 = ListView1.ListItems(x).ListSubItems(9).Text
End Sub

if Sheets("Clientele").Select then
InvoiceForm.Label1 = ListView1.ListItems(x).ListSubItems(1).Text
InvoiceForm.Label2 = ListView1.ListItems(x).ListSubItems(2).Text
InvoiceForm.Label5 = ListView1.ListItems(x).ListSubItems(3).Text
InvoiceForm.Label6 = ListView1.ListItems(x).ListSubItems(5).Text
elseif Sheets("stocks").Select then
InvoiceForm.TextBox3 = ListView1.ListItems(x).ListSubItems(1).Text
InvoiceForm.TextBox4 = ListView1.ListItems(x).ListSubItems(2).Text
InvoiceForm.TextBox6 = ListView1.ListItems(x).ListSubItems(3).Text
InvoiceForm.TextBox15 = ListView1.ListItems(x).ListSubItems(9).Text
end if
şeklinde denedim ama yemedi..

Buton yardımı ile yapabiliyorum. Fakat aktarımlar için, 6 adet buton eklemem gerekiyor.
Örneğin;
buton1 cari kısımlara kayıt yapıyor
buton2 stok kısımlara kayıt yapıyor
buton3 çeklerde cari kısımlara kayıt yapıyor
böyle uzayıp gitti.

Private Sub TextBox1_Change()
Private Sub TextBox2_Change()
Private Sub TextBox3_Change()
Private Sub TextBox4_Change()

Bu subları kaldırırsam verileri listview e otomatik getirme fonksiyonu çalışmıyor.

Teşekkürler,
Tansu
 
Merhaba,
Sorunumu çözdüm, yardımı olur diye kodumu aşağıya yazıyorum.
Bu kodu 1. userform içine yazıyoruz, 2. userformu çağırıyoruz.
Private Sub Label14_Click()
GeneralGuida.TextBox5 = "ChequeBookForm"
GeneralGuida.Show
End Sub

2. userform da textbox5 nesnesi oluşturuyoruz. checkbookform dan generalguida formunu çalıştırınca
textbox5 içinde ChequeBookForm görünüyor.

Private Sub ListView1_DblClick()
On Error Resume Next
If ListView1.ListItems.count = 0 Then Exit Sub
x = ListView1.SelectedItem.index
TextBox1.Text = ListView1.ListItems(x)
TextBox2.Text = ListView1.ListItems(x).ListSubItems(1).Text
If GeneralGuida.TextBox5 = "ChequeBookForm" Then
ChequeBookForm.TextBox13 = ListView1.ListItems(x)
ChequeBookForm.TextBox14 = ListView1.ListItems(x).ListSubItems(1).Text
ChequeBookForm.Label17 = ListView1.ListItems(x).ListSubItems(2).Text
ChequeBookForm.Label18 = ListView1.ListItems(x).ListSubItems(9).Text
NewRecord = False
ElseIf GeneralGuida.TextBox5 = "CashBookForm" Then
CashBookForm.TextBox12 = ListView1.ListItems(x).ListSubItems(1).Text
ElseIf GeneralGuida.TextBox5 = "ClientActionForm" Then
ClientActionForm.TextBox1 = ListView1.ListItems(x)
ElseIf GeneralGuida.TextBox5 = "StockActionForm" Then
StockActionForm.TextBox1 = ListView1.ListItems(x)
End If
End Sub

Böylece GeneralGuida rehberi 10 adet userformdan çağırıp kullanabiliyorum.

Kolay gelsin,
Tansu
 
Geri
Üst