• DİKKAT

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

Userform Kaydet Sorunu

Katılım
12 Nisan 2014
Mesajlar
72
Excel Vers. ve Dili
Microsoft 365 Enterprise En 64 Bit
Merhaba,

Aşağıdaki Kaydet kodlarını userform üzerinde kullandığımda kırmızı işaretlediğin noktadan hata veriyor.

Tam olarak nerede hata yapıyorum bulamadım, kodların düzenlenmesi için yardımınızı rica ederim.

İyi Çalışmalar

Kod:
Private Sub CommandButton1_Click()
If TextBox1.Text = Empty Then
MsgBox "GİRİŞ YAPINIZ", vbExclamation, "": Exit Sub
End If

With Sheets("Data")
Range("A99").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
If Range("A99").Value = "" Then
Range("A99").Value = ""
Range("A99").Select
Else
ActiveCell.Value = ActiveCell.Offset(-1, 0) + 1
End If
[COLOR="red"]ActiveCell.Offset(0, 1).Value = TextBox1.Text[/COLOR]
ActiveCell.Offset(0, 2).Value = ListBox1.Text
ActiveCell.Offset(0, 3).Value = ListBox2.Text
ActiveCell.Offset(0, 4).Value = TextBox2.Text
ActiveCell.Offset(0, 5).Value = ComboBox7.Text
ActiveCell.Offset(0, 6).Value = ComboBox8.Text
ActiveCell.Offset(0, 7).Value = ComboBox9.Text
ActiveCell.Offset(0, 8).Value = ComboBox10.Text
ActiveCell.Offset(0, 9).Value = ComboBox11.Text
ActiveCell.Offset(0, 10).Value = ComboBox12.Text
ActiveCell.Offset(0, 11).Value = ComboBox13.Text
ActiveCell.Offset(0, 12).Value = ComboBox14.Text
ActiveCell.Offset(0, 13).Value = ComboBox15.Text
ActiveCell.Offset(0, 14).Value = ComboBox16.Text
ActiveCell.Offset(0, 15).Value = ComboBox1.Text
ActiveCell.Offset(0, 16).Value = ComboBox2.Text
ActiveCell.Offset(0, 17).Value = ComboBox3.Text
ActiveCell.Offset(0, 18).Value = ComboBox4.Text
ActiveCell.Offset(0, 19).Value = ComboBox5.Text
ActiveCell.Offset(0, 20).Value = ComboBox6.Text
ActiveCell.Offset(0, 21).Value = ComboBox17.Text
ActiveCell.Offset(0, 22).Value = ComboBox18.Text
ActiveCell.Offset(0, 23).Value = ComboBox19.Text
ActiveCell.Offset(0, 24).Value = TextBox3.Text
End With
MsgBox "KAYIT İŞLEMİ TAMAMLANDI", , "Ayteking"
TextBox1.Text = ""
ListBox1.Text = ""
ListBox2.Text = ""
TextBox2.Text = ""
ComboBox7.Text = ""
ComboBox8.Text = ""
ComboBox9.Text = ""
ComboBox10.Text = ""
ComboBox11.Text = ""
ComboBox12.Text = ""
ComboBox13.Text = ""
ComboBox14.Text = ""
ComboBox15.Text = ""
ComboBox16.Text = ""
ComboBox1.Text = ""
ComboBox2.Text = ""
ComboBox3.Text = ""
ComboBox4.Text = ""
ComboBox5.Text = ""
ComboBox6.Text = ""
ComboBox17.Text = ""
ComboBox18.Text = ""
ComboBox19.Text = ""
TextBox3.Text = ""
End Sub
 

Açıklaması nedir ? Type mismatch mı ya da runtime error mu ? Ya da object not found ?

Diğer yandan çalıştığını denemek için önce bu kodlara uygun bir sayfa da yazmak gerek. Bunun yerine , bir örnek dosya ile çözebileceklere yardım edebilirsiniz ...
 
Açıklaması nedir ? Type mismatch mı ya da runtime error mu ? Ya da object not found ?

Diğer yandan çalıştığını denemek için önce bu kodlara uygun bir sayfa da yazmak gerek. Bunun yerine , bir örnek dosya ile çözebileceklere yardım edebilirsiniz ...

Merhaba,

Ekte örnek dosyam bulunuyor. Kaydet butonunun Data sheetine kayıt yapması için destek rica ederim.

Ek olarak Userform'u hangi sheette açarsam da sarı ve kırmızı başlıklı comboboxlar o sheet ten veri almaya çalışıyor, VERİ sheetinden alması için birşeyler yapabilir miyiz?

İlgili konularda desteğinizi rica ederim.

Teşekkürler
iyi çalışmalar
 
Son düzenleme:
Merhaba,

Ekte örnek dosyam bulunuyor. Kaydet butonunun Data sheetine kayıt yapması için destek rica ederim.

Ek olarak Userform'u hangi sheette açarsam da sarı ve kırmızı başlıklı comboboxlar o sheet ten veri almaya çalışıyor, VERİ sheetinden alması için birşeyler yapabilir miyiz?

İlgili konularda desteğinizi rica ederim.

Teşekkürler
iyi çalışmalar

Görebildiğim kadarı ile kaydet kodlarından daha önce userform_initialize kodlarında problem var , yani userform açılırken yüklenmesini istediğiniz bir şeyler çalışmıyor. İnitialize kodlarında yerini bulamadığım DİZİ kelimeleri var, sanki kullanıcı tanımlı fonksiyon var da bu dosyada yok gibi . Zira takılan yerde ' ile pasifleştirince userform açılıyor ancak, comboboxlara hiç bir şey gelmiyor. Dahası; comboboxlar hiç bir yerden veri almıyor. Dolayısı ile kodlar kaydetse de boşluk kaydeder.

Şu durumda bu programda tam olarak işin akışını anlamak mümkün olmadı, belki benim algım zayıf.

Bu yüzden ; dosyanızdaki 3 sayfa arasında nasıl bir ilişki olması gerektiğini anlatmanız ve kaydet ile aktarılacak sayfada sütun başlarının 1 2 3 şeklinde sayılar değil aktarılmış bilgiyi yansıtan başlıklar olması * bana göre * dosyanın ilerlemesine yardımcı olur. Zira gördüğüm kadarı ile çoğu kodun değişmesi gerekecek.

Önemli olan siz bu kodları bilerek mi yazdınız / yazdırdınız ya da alıntılayarak mı çalıştırmak istediğiniz ... Birinci olasılık için kendi adıma konu anlatımsız bu dosyada ilerleyemem ve yazan sanırım bunun üstesinden gelir , ikinci olasılık için ise bu kodların kaldırılması şart.
 
Hücreden veri almak için kullandığınız
Kod:
Range("A2:A" & Range("A65536").End(3).Row)
kodlarına sayfa adını eklerseniz sabit bir sayfadan alınmasını sağlarsınız.
Kod:
[COLOR="Red"]Sheets("VERİ").[/COLOR]Range("A2:A" & [COLOR="red"]Sheets("VERİ").[/COLOR]Range("A65536").End(3).Row)
Yada
"VERİ!B2:B" & [VERİ!B65536].End(3).Row
 
Görebildiğim kadarı ile kaydet kodlarından daha önce userform_initialize kodlarında problem var , yani userform açılırken yüklenmesini istediğiniz bir şeyler çalışmıyor. İnitialize kodlarında yerini bulamadığım DİZİ kelimeleri var, sanki kullanıcı tanımlı fonksiyon var da bu dosyada yok gibi . Zira takılan yerde ' ile pasifleştirince userform açılıyor ancak, comboboxlara hiç bir şey gelmiyor. Dahası; comboboxlar hiç bir yerden veri almıyor. Dolayısı ile kodlar kaydetse de boşluk kaydeder.

Şu durumda bu programda tam olarak işin akışını anlamak mümkün olmadı, belki benim algım zayıf.

Bu yüzden ; dosyanızdaki 3 sayfa arasında nasıl bir ilişki olması gerektiğini anlatmanız ve kaydet ile aktarılacak sayfada sütun başlarının 1 2 3 şeklinde sayılar değil aktarılmış bilgiyi yansıtan başlıklar olması * bana göre * dosyanın ilerlemesine yardımcı olur. Zira gördüğüm kadarı ile çoğu kodun değişmesi gerekecek.

Önemli olan siz bu kodları bilerek mi yazdınız / yazdırdınız ya da alıntılayarak mı çalıştırmak istediğiniz ... Birinci olasılık için kendi adıma konu anlatımsız bu dosyada ilerleyemem ve yazan sanırım bunun üstesinden gelir , ikinci olasılık için ise bu kodların kaldırılması şart.

Merhaba,

Size cevap yazarken çözdüm sanıyorum.Aşağıdaki kodlar ile test ettim çalışıyor.

Herşey için teşekkür ederim.

Kod:
Private Sub CommandButton1_Click()

Sheets("Data").Select
Range("a1").Select
Do While Not IsEmpty(ActiveCell)
    ActiveCell.Offset(1, 0).Select
Loop
If Range("a1").Value = "" Then
    Range("a1").Value = 1
    Range("a1").Select
Else
    ActiveCell.Value = ActiveCell.Offset(-1, 0) + 1
End If
ActiveCell.Offset(0, 1) = TextBox1.Text
ActiveCell.Offset(0, 2) = TextBox2.Text
ActiveCell.Offset(0, 3) = TextBox3.Text

TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""

End Sub
 
Hücreden veri almak için kullandığınız
Kod:
Range("A2:A" & Range("A65536").End(3).Row)
kodlarına sayfa adını eklerseniz sabit bir sayfadan alınmasını sağlarsınız.
Kod:
[COLOR="Red"]Sheets("VERİ").[/COLOR]Range("A2:A" & [COLOR="red"]Sheets("VERİ").[/COLOR]Range("A65536").End(3).Row)
Yada

Sayın Mutlu,

Teşekkür ederim. Önerinizi ekleyeceğim.

İyi Çalışmalar dilerim.
 
Hücreden veri almak için kullandığınız
Kod:
Range("A2:A" & Range("A65536").End(3).Row)
kodlarına sayfa adını eklerseniz sabit bir sayfadan alınmasını sağlarsınız.
Kod:
[COLOR="Red"]Sheets("VERİ").[/COLOR]Range("A2:A" & [COLOR="red"]Sheets("VERİ").[/COLOR]Range("A65536").End(3).Row)
Yada

Sayın Mutlu Merhaba,

Aşağıda ki kaydet macrosu ile userformda ki verilerimi excele kaydediyorum ancak veri girişi yapılmayan textbox ve combobox lar olunca uyarı vermesini nasıl sağlayabilirim? Bu işlemi aşağıdaki kodu çalıştırdığımda kontrol etmesini istiyorum.

Desteğiniz ricasıyla
iyi çalışmalar dilerim

Kod:
Private Sub CommandButton1_Click()

Sheets("Data").Select
Range("a1").Select
Do While Not IsEmpty(ActiveCell)
    ActiveCell.Offset(1, 0).Select
Loop
If Range("a1").Value = "" Then
    Range("a1").Value = 1
    Range("a1").Select
Else
    ActiveCell.Value = ActiveCell.Offset(-1, 0) + 1
End If
ActiveCell.Offset(0, 1) = TextBox1.Text
ActiveCell.Offset(0, 2) = TextBox2.Text
ActiveCell.Offset(0, 3) = TextBox3.Text

TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""

End Sub
 
Geri
Üst