walabi
Altın Üye
- Katılım
- 22 Eylül 2012
- Mesajlar
- 671
- Excel Vers. ve Dili
-
excel 2010
excel 2013
- Altın Üyelik Bitiş Tarihi
- 06-08-2025
Kod:
Private Sub CommandButton6_Click()
Application.ScreenUpdating = False
Sheets("Kasa_Case").Unprotect Password:="1453"
sonsat1 = Sheets("Kasa_Case").[a65536].End(3).Row + 1
If ComboBox1.Value = "" Or TextBox10.Value = "" Or TextBox12.Value = "" Then
MsgBox "Zorunlu Alanları Doldurmadınız", vbExclamation
Cancel = False
Exit Sub
ElseIf ComboBox1.Value <> "" And Left(ComboBox1.Value, 8) = "Veresiye" And TextBox14.Value = "" Then
MsgBox "Veresiye İşlemi için Ünvan Seçmelisiniz", vbExclamation
Cancel = False
Exit Sub
ElseIf ComboBox1.Value <> "" And Left(ComboBox1.Value, 4) = "Alış" And TextBox14.Value = "" And TextBox16.Value = "" Then
MsgBox "Ünvan ve Tarih Bilgisi Giriniz", vbExclamation
Cancel = False
Exit Sub
ElseIf ComboBox1.Value <> "" And Left(ComboBox1.Value, 4) = "Teda" And TextBox14.Value = "" And TextBox16.Value = "" Then
MsgBox "Ünvan ve Tarih Bilgisi Giriniz", vbExclamation
Cancel = False
Exit Sub
End If
For i = 1 To sonsat1
If ComboBox1.Value = "Nakit Satış (+)" Then
With Sheets("Kasa_Case")
.Cells(sonsat1, "A") = ComboBox1.Value
.Cells(sonsat1, "B") = ""
.Cells(sonsat1, "C") = TextBox10.Value
.Cells(sonsat1, "D") = ""
.Cells(sonsat1, "E") = CDate(TextBox2)
.Cells(sonsat1, "F") = Format(Now, "dd.mm.yyyy - hh:mm:ss")
If TextBox11 <> "" Then
.Cells(sonsat1, "G") = TextBox11.Value
Else
.Cells(sonsat1, "G") = 0
End If
.Cells(sonsat1, "H") = Format(TextBox12, "0.00") * 1
.Cells(sonsat1, "K") = ""
End With
ElseIf ComboBox1.Value = "Veresiye Satış (+)" Then
With Sheets("Kasa_Case")
.Cells(sonsat1, "A") = ComboBox1.Value
.Cells(sonsat1, "B") = ""
.Cells(sonsat1, "C") = TextBox10.Value
.Cells(sonsat1, "D") = ""
.Cells(sonsat1, "E") = CDate(TextBox2)
.Cells(sonsat1, "F") = Format(Now, "dd.mm.yyyy - hh:mm:ss")
If TextBox11 <> "" Then
.Cells(sonsat1, "G") = TextBox11.Value
Else
.Cells(sonsat1, "G") = 0
End If
.Cells(sonsat1, "H") = Format(TextBox12, "0.00") * 1
.Cells(sonsat1, "K") = TextBox14.Value
End With
ElseIf ComboBox1.Value = "Veresiye Tahsilat (+)" Then
With Sheets("Kasa_Case")
.Cells(sonsat1, "A") = ComboBox1.Value
.Cells(sonsat1, "B") = ""
.Cells(sonsat1, "C") = TextBox10.Value
.Cells(sonsat1, "D") = ""
.Cells(sonsat1, "E") = CDate(TextBox2)
.Cells(sonsat1, "F") = Format(Now, "dd.mm.yyyy - hh:mm:ss")
If TextBox11 <> "" Then
.Cells(sonsat1, "G") = TextBox11.Value
Else
.Cells(sonsat1, "G") = 0
End If
.Cells(sonsat1, "I") = Format(TextBox12, "0.00") * 1
.Cells(sonsat1, "K") = TextBox14.Value
End With
ElseIf ComboBox1.Value = "Tedarikçiye Ödeme (-)" Then
With Sheets("Kasa_Case")
.Cells(sonsat1, "A") = ComboBox1.Value
.Cells(sonsat1, "B") = ""
.Cells(sonsat1, "C") = TextBox10.Value
.Cells(sonsat1, "D") = ""
.Cells(sonsat1, "E") = CDate(TextBox16)
.Cells(sonsat1, "F") = Format(Now, "dd.mm.yyyy - hh:mm:ss")
If TextBox11 <> "" Then
.Cells(sonsat1, "G") = TextBox11.Value
Else
.Cells(sonsat1, "G") = 0
End If
.Cells(sonsat1, "I") = Format(TextBox12, "0.00") * 1
.Cells(sonsat1, "K") = TextBox14.Value
End With
ElseIf ComboBox1.Value = "Alış İade (-)" Then
With Sheets("Kasa_Case")
.Cells(sonsat1, "A") = ComboBox1.Value
.Cells(sonsat1, "B") = ""
.Cells(sonsat1, "C") = TextBox10.Value
.Cells(sonsat1, "D") = ""
.Cells(sonsat1, "E") = CDate(TextBox16)
.Cells(sonsat1, "F") = Format(Now, "dd.mm.yyyy - hh:mm:ss")
If TextBox11 <> "" Then
.Cells(sonsat1, "G") = TextBox11.Value
Else
.Cells(sonsat1, "G") = 0
End If
.Cells(sonsat1, "I") = Format(TextBox12, "0.00") * 1
.Cells(sonsat1, "K") = TextBox14.Value
End With
ElseIf ComboBox1.Value = "Nakit Gider (-)" Then
With Sheets("Kasa_Case")
.Cells(sonsat1, "A") = ComboBox1.Value
.Cells(sonsat1, "B") = ""
.Cells(sonsat1, "C") = TextBox10.Value
.Cells(sonsat1, "D") = ""
.Cells(sonsat1, "E") = CDate(TextBox2)
.Cells(sonsat1, "F") = Format(Now, "dd.mm.yyyy - hh:mm:ss")
If TextBox11 <> "" Then
.Cells(sonsat1, "G") = TextBox11.Value
Else
.Cells(sonsat1, "G") = 0
End If
.Cells(sonsat1, "I") = Format(TextBox12, "0.00") * 1
.Cells(sonsat1, "K") = ""
End With
ElseIf ComboBox1.Value = "Veresiye Gider (-)" Then
With Sheets("Kasa_Case")
.Cells(sonsat1, "A") = ComboBox1.Value
.Cells(sonsat1, "B") = ""
.Cells(sonsat1, "C") = TextBox10.Value
.Cells(sonsat1, "D") = ""
.Cells(sonsat1, "E") = CDate(TextBox2)
.Cells(sonsat1, "F") = Format(Now, "dd.mm.yyyy - hh:mm:ss")
If TextBox11 <> "" Then
.Cells(sonsat1, "G") = TextBox11.Value
Else
.Cells(sonsat1, "G") = 0
End If
.Cells(sonsat1, "I") = Format(TextBox12, "0.00") * 1
.Cells(sonsat1, "K") = TextBox14.Value
End With
ElseIf ComboBox1.Value = "Veresiye Ödeme (-)" Then
With Sheets("Kasa_Case")
.Cells(sonsat1, "A") = ComboBox1.Value
.Cells(sonsat1, "B") = ""
.Cells(sonsat1, "C") = TextBox10.Value
.Cells(sonsat1, "D") = ""
.Cells(sonsat1, "E") = CDate(TextBox2)
.Cells(sonsat1, "F") = Format(Now, "dd.mm.yyyy - hh:mm:ss")
If TextBox11 <> "" Then
.Cells(sonsat1, "G") = TextBox11.Value
Else
.Cells(sonsat1, "G") = 0
End If
.Cells(sonsat1, "H") = Format(TextBox12, "0.00") * 1
.Cells(sonsat1, "K") = TextBox14.Value
End With
ElseIf ComboBox1.Value = "Alış Faturası (+)" Then
With Sheets("Kasa_Case")
.Cells(sonsat1, "A") = ComboBox1.Value
.Cells(sonsat1, "B") = ""
.Cells(sonsat1, "C") = TextBox10.Value
.Cells(sonsat1, "D") = ""
.Cells(sonsat1, "E") = CDate(TextBox16)
.Cells(sonsat1, "F") = Format(Now, "dd.mm.yyyy - hh:mm:ss")
If TextBox11 <> "" Then
.Cells(sonsat1, "G") = TextBox11.Value
Else
.Cells(sonsat1, "G") = 0
End If
.Cells(sonsat1, "H") = Format(TextBox12, "0.00") * 1
.Cells(sonsat1, "K") = TextBox14.Value
End With
End If
Next i
'ComboBox1 = ""
TextBox10 = ""
TextBox11 = ""
TextBox12 = ""
TextBox14 = ""
TextBox15 = ""
TextBox16 = ""
ListBox2.Clear
Sheets("Kasa_Case").Protect Password:="1453"
Application.ScreenUpdating = True
TextBox1.SetFocus
UserForm2.Show
ActiveWorkbook.Save
End Sub
Merhaba,
Belirttiğim kodlarda şöylesi bir sorun yaşıyorum sanki. İlgili kodlar ile veri kaydı yapmaya çalışıyorum. Ancak kayıt işlemi yaklaşık 4-5 saniye alıyor. Kaydedilen veri fazla değil. Bunun nedeni if li ifadelerin fazla olmasından kaynaklanıyor olabilir mi yoksa excel sayfasındaki verilerin fazla olmasından mı kaynaklanıyor , yada farklı bir durum. ( orjinal dosyada en fazla 2000 satır veri var şuan )
Orjinal dosyada dediğim gibi 4-5 saniye alıyor ancak buraya örnek dosya yüklemek için gerçek verileri silip örnek birkaç deneme amaçlı kayıt yaptığımda bu süre kısalmış oluyor. Bunun nedeni ne olabilir.
İlgili kodlar useform1 üzerindeki "detaylı kayıt" butonu altında. ctrl+m ile userform1 açılmakta.
Zaruri bir mesaj değil ancak hem merak ettiğim için, hem de siteye örnek bir dosya olması amacı ile mesaj atmaktayım.
Ekli dosyalar
-
174.9 KB Görüntüleme: 24