Kaydetmede Sorun

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
607
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Arkadaşlar merhaba useformdaki verileri kaydetmek için aşağıdaki kodu kullanıyorum. Form üzerinde Combobox'lar ve TextBox'lar var. Normalde 1 satırlık bi veri girdiğimde sorun yok ama 2 satırlık bir veri girdiğim zaman TextBox2,TextBox3,TextBox4 teki veriler aynen 2 satıra geçiyor ama comboboxlarda problem yok. Bununla ilgli bana yardımcı olurmusunuz


Kod:
Private Sub CommandButton2_Click()
Set s1 = Sheets("VERİ")
Dim t As Range
If ComboBox1 = "" Then
MsgBox "FİRMA ADI BOŞ BIRAKILAMAZ..."
Exit Sub
End If
If ComboBox2.Value = "GİRİŞ" Then
c = WorksheetFunction.CountA(Worksheets("VERİ").[a1:a60000]) - 1
For a = 2 To 31 Step 1
For b = 3 To 22 Step 2
If Controls("textbox" & a) = "" Then Exit Sub
If Controls("combobox" & b) = "" Then Exit Sub
c = c + 1
s1.Cells(c + 1, "A") = c
s1.Cells(c + 1, "B") = CLng(CDate(TextBox1.Value))
s1.Cells(c + 1, "C") = ComboBox1.Value
s1.Cells(c + 1, "D") = Controls("combobox" & b)
s1.Cells(c + 1, "E") = Controls("combobox" & b + 1)
s1.Cells(c + 1, "F") = Controls("textbox" & a)
s1.Cells(c + 1, "G") = Controls("textbox" & a + 1)
s1.Cells(c + 1, "H") = Controls("textbox" & a + 2)
Next
MsgBox "KAYIT ŞLEMİ TAMAMLANMIŞTIR"
Next
End If
c = WorksheetFunction.CountA(Worksheets("VERİ").[a1:a60000]) - 1
For a = 2 To 31 Step 5
For b = 3 To 22 Step 2
If Controls("textbox" & a) = "" Then Exit Sub
If Controls("combobox" & b) = "" Then Exit Sub
c = c + 1
s1.Cells(c + 1, "A") = c
s1.Cells(c + 1, "B") = CLng(CDate(TextBox1.Value))
s1.Cells(c + 1, "C") = ComboBox1.Value
s1.Cells(c + 1, "D") = Controls("combobox" & b)
s1.Cells(c + 1, "E") = Controls("combobox" & b + 1)
s1.Cells(c + 1, "F") = Controls("textbox" & a)
s1.Cells(c + 1, "I") = Controls("textbox" & a + 1)
s1.Cells(c + 1, "J") = Controls("textbox" & a + 2)
Next
MsgBox "KAYIT ŞLEMİ TAMAMLANMIŞTIR"
Next
End Sub
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Eksi 1 (-1) i kaldırmalısınız

Kod:
c = WorksheetFunction.CountA(Worksheets("VERİ").[a1:a60000]) - 1
Doğrusu
Kod:
c = WorksheetFunction.CountA(Worksheets("VERİ").[a1:a60000])
Her iki satırdada
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
607
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Sayın alpi yardımınız için teşekkür ederim ama istediğim bu değil. Textbox2,3,4 de veri giriyorum Textbox5,6,7 ye farklı verililer giriyorum ama kaydet dediğim zaman Textbox2,3,4'dü 2 kere tekrarlıyor Textbox5,6,7 deki verileri kaydetmiyor.
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
İplik Hareket Formundan mı bahsediyorsunuz acaba.
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Kod:
s1.Cells(c + 1, "F") = Controls("textbox" & [COLOR=red]a[/COLOR])
Satırı

Kod:
 s1.Cells(c + 1, "F") = Controls("textbox" & [COLOR=red]b[/COLOR])
olmalı diğer satırlarıda a yerine b şeklinde değiştiriniz
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
607
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
sayın alpi yardımlarınız için teşekkür ederim ama gene olmadı burda ayrı 2 Controls kullanıyoruz biri combobox diğeri textbox için ben kodları değiştirdiğim zaman combobox ların Controls'unu kullanmış oluyorum buda karışıklığa sebep oluyor ben bi türlü çözemedim yardımlarınız için teşekkür ederim
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
607
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Arkadaşlar sorunu çözdüm. sabah dinç kafayla çalışmak lazımmış demekki. yardımlarından dolayı sayın alpi'ye ve diğer forum üyelerine teşekkürlerimi sunarım saygılar

Kod:
Private Sub CommandButton2_Click()
Set s1 = Sheets("VERİ")
Dim t As Range
If ComboBox1 = "" Then
MsgBox "FİRMA ADI BOŞ BIRAKILAMAZ..."
Exit Sub
End If
If ComboBox2.Value = "GİRİŞ" Then
c = WorksheetFunction.CountA(Worksheets("VERİ").[a1:a60000]) - 1
For a = 2 To 31 Step 3
If Controls("textbox" & a) = "" Then Exit Sub
c = c + 1
s1.Cells(c + 1, "A") = c
s1.Cells(c + 1, "B") = CLng(CDate(TextBox1.Value))
s1.Cells(c + 1, "C") = ComboBox1.Value
s1.Cells(c + 1, "D") = ComboBox3.Value
s1.Cells(c + 1, "E") = ComboBox4.Value
s1.Cells(c + 1, "F") = Controls("textbox" & a)
s1.Cells(c + 1, "G") = Controls("textbox" & a + 1)
s1.Cells(c + 1, "H") = Controls("textbox" & a + 2)
Next
End If
c = WorksheetFunction.CountA(Worksheets("VERİ").[a1:a60000]) - 1
For a = 2 To 31 Step 3
If Controls("textbox" & a) = "" Then Exit Sub
c = c + 1
s1.Cells(c + 1, "A") = c
s1.Cells(c + 1, "B") = CLng(CDate(TextBox1.Value))
s1.Cells(c + 1, "C") = ComboBox1.Value
s1.Cells(c + 1, "D") = ComboBox3.Value
s1.Cells(c + 1, "E") = ComboBox4.Value
s1.Cells(c + 1, "F") = Controls("textbox" & a)
s1.Cells(c + 1, "I") = Controls("textbox" & a + 1)
s1.Cells(c + 1, "J") = Controls("textbox" & a + 2)
Next
End Sub
 
Üst