kayıt ve uyarı

Katılım
4 Haziran 2017
Mesajlar
158
Excel Vers. ve Dili
Microsoft Excel 2010 TR
Altın Üyelik Bitiş Tarihi
21-10-2024
combobox1 e isim girdığimde kayıt yapıyor. boş iken kayıt yapmasın uyarı versin (firma adı girinz. gibi)
textbox(3-4-5-6-7-8-9-10) bunlardan herhangi birine veri girdiğimde comboboxta isim ver ise kayıt yapsın. texboxların hepsi boş ise uyarı versin.(veri giriniz... gibi)
teşekkür ederim
 

Ekli dosyalar

Son düzenleme:

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba, benzer konunuz.
https://excel.web.tr/threads/bos-kayit-yapmasin.210567/

Yapı aynı olduğu için deneme yaparak sonuç alabilirsiniz.
Diğer yandan yine benzer konular forumda mevcut olduğu için öncelikle o konuları ve kodları inceleyerek yapabilirsiniz.
Deneme yanılmalar ile daha kolay aşinalık kazanırsınız.

Bazı örnek konular, arama bölümünden daha fazla konuya ulaşabilirsiniz.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Son kodları uyguladınız mı diye dosyanıza şimdi baktım da hatalı çalışıyor dediğiniz için yaptığım düzenlemeyi bu dosyanızda kullanmamışsınız. Filtreleme işleminde yine hata alırsınız.
 
Katılım
4 Haziran 2017
Mesajlar
158
Excel Vers. ve Dili
Microsoft Excel 2010 TR
Altın Üyelik Bitiş Tarihi
21-10-2024
Teşekkür telefon ile cevaplara baltım sagolun
 
Katılım
4 Haziran 2017
Mesajlar
158
Excel Vers. ve Dili
Microsoft Excel 2010 TR
Altın Üyelik Bitiş Tarihi
21-10-2024
Arkadaşlar
bütün verilen konuları inceledim kendime göre düzenledim ama yapamadım
yardımlarınızı bekliyorum. teşekkürler
 

NBATMAN

Destek Ekibi
Destek Ekibi
Katılım
1 Aralık 2007
Mesajlar
659
Excel Vers. ve Dili
Office 2003 excel Türkçe
Merhaba,

kodlarınızda kaydet butonu ile ilgili kısımda şu değişikli yapınız.


Private Sub CommandButton1_Click()
Call KaydetButton
'Dim son
'Dim s1
'Set s1 = Worksheets("DÖKÜMAN")
'Application.ScreenUpdating = False
'
'
'son = s1.Cells(Rows.Count, 2).End(3).Row
' ' Döküman sayfasına veriyi eklerken format kullanımı
' s1.Cells(son + 1, 2).Value = Format(Date, "dd.mm.yyyy")
' s1.Cells(son + 1, 3).Value = ComboBox1.Value
' s1.Cells(son + 1, 4).Value = Format(TextBox3.Value, "0")
' s1.Cells(son + 1, 5).Value = Format(TextBox4.Value, "0")
' s1.Cells(son + 1, 6).Value = Format(TextBox5.Value, "0")
' s1.Cells(son + 1, 7).Value = Format(TextBox6.Value, "0")
' s1.Cells(son + 1, 8).Value = TextBox7.Text
' s1.Cells(son + 1, 9).Value = Format(TextBox8.Value, "0")
' s1.Cells(son + 1, 10).Value = Format(TextBox9.Value, "0")
' s1.Cells(son + 1, 11).Value = Format(TextBox10.Value, "0")
'ComboBox1.Value = ""
'ComboBox2.Value = ""
'TextBox3.Text = ""
'TextBox4.Text = ""
'TextBox5.Text = ""
'TextBox6.Text = ""
'TextBox7.Text = ""
'TextBox8.Text = ""
'TextBox9.Text = ""
'TextBox10.Text = ""
'Application.ScreenUpdating = True
's1.Select
'
'son = s1.Cells(Rows.Count, 2).End(3).Row
'ListBox3.List = s1.Range("B4:K" & son).Value
'ListBox3.TopIndex = ListBox3.ListCount
End Sub


Private Sub KaydetButton()
Dim ws As Worksheet
Dim controlArray As Variant
Dim control As Variant
Dim emptyCount As Integer
Dim i As Integer

' Çalışmak istediğiniz çalışma sayfasını (Worksheet) tanımlayın
Set ws = ThisWorkbook.Sheets("DÖKÜMAN") ' VeriSayfasi yerine kullanmak istediğiniz sayfa adını girin

' Kontrol elemanlarını bir dizi içinde topla
controlArray = Array(ComboBox1, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10)

' Boş kutu sayısını sıfırla
emptyCount = 0

' Her bir kontrol elemanını kontrol et
For i = LBound(controlArray) To UBound(controlArray)
Set control = controlArray(i)
If control.Value = "" Then
emptyCount = emptyCount + 1
control.BackColor = RGB(255, 0, 0) ' Kırmızı arka plan rengi
Else
control.BackColor = RGB(255, 255, 255) ' Beyaz arka plan rengi
End If
Next i

' Tüm kutular doluysa kaydetme işlemini gerçekleştir
If emptyCount = 0 Then
Dim son
Dim s1
Set s1 = Worksheets("DÖKÜMAN")
Application.ScreenUpdating = False


son = s1.Cells(Rows.Count, 2).End(3).Row
' Döküman sayfasına veriyi eklerken format kullanımı
s1.Cells(son + 1, 2).Value = Format(Date, "dd.mm.yyyy")
s1.Cells(son + 1, 3).Value = ComboBox1.Value
s1.Cells(son + 1, 4).Value = Format(TextBox3.Value, "0")
s1.Cells(son + 1, 5).Value = Format(TextBox4.Value, "0")
s1.Cells(son + 1, 6).Value = Format(TextBox5.Value, "0")
s1.Cells(son + 1, 7).Value = Format(TextBox6.Value, "0")
s1.Cells(son + 1, 8).Value = TextBox7.Text
s1.Cells(son + 1, 9).Value = Format(TextBox8.Value, "0")
s1.Cells(son + 1, 10).Value = Format(TextBox9.Value, "0")
s1.Cells(son + 1, 11).Value = Format(TextBox10.Value, "0")
ComboBox1.Value = ""
ComboBox2.Value = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
Application.ScreenUpdating = True
s1.Select

son = s1.Cells(Rows.Count, 2).End(3).Row
ListBox3.List = s1.Range("B4:K" & son).Value
ListBox3.TopIndex = ListBox3.ListCount
MsgBox "Veriler başarıyla kaydedildi!", vbInformation
Else
MsgBox "Lütfen tüm alanları doldurun!", vbExclamation
End If
End Sub

Private Sub Control_Change()
Dim control As Variant
control = Array(ComboBox1, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10)
For Each ctrl In control
If ctrl.Value <> "" Then
ctrl.BackColor = RGB(255, 255, 255) ' Beyaz arka plan rengi
End If
Next ctrl
End Sub
 
Katılım
4 Haziran 2017
Mesajlar
158
Excel Vers. ve Dili
Microsoft Excel 2010 TR
Altın Üyelik Bitiş Tarihi
21-10-2024
Merhaba,

kodlarınızda kaydet butonu ile ilgili kısımda şu değişikli yapınız.


Private Sub CommandButton1_Click()
Call KaydetButton
'Dim son
'Dim s1
'Set s1 = Worksheets("DÖKÜMAN")
'Application.ScreenUpdating = False
'
'
'son = s1.Cells(Rows.Count, 2).End(3).Row
' ' Döküman sayfasına veriyi eklerken format kullanımı
' s1.Cells(son + 1, 2).Value = Format(Date, "dd.mm.yyyy")
' s1.Cells(son + 1, 3).Value = ComboBox1.Value
' s1.Cells(son + 1, 4).Value = Format(TextBox3.Value, "0")
' s1.Cells(son + 1, 5).Value = Format(TextBox4.Value, "0")
' s1.Cells(son + 1, 6).Value = Format(TextBox5.Value, "0")
' s1.Cells(son + 1, 7).Value = Format(TextBox6.Value, "0")
' s1.Cells(son + 1, 8).Value = TextBox7.Text
' s1.Cells(son + 1, 9).Value = Format(TextBox8.Value, "0")
' s1.Cells(son + 1, 10).Value = Format(TextBox9.Value, "0")
' s1.Cells(son + 1, 11).Value = Format(TextBox10.Value, "0")
'ComboBox1.Value = ""
'ComboBox2.Value = ""
'TextBox3.Text = ""
'TextBox4.Text = ""
'TextBox5.Text = ""
'TextBox6.Text = ""
'TextBox7.Text = ""
'TextBox8.Text = ""
'TextBox9.Text = ""
'TextBox10.Text = ""
'Application.ScreenUpdating = True
's1.Select
'
'son = s1.Cells(Rows.Count, 2).End(3).Row
'ListBox3.List = s1.Range("B4:K" & son).Value
'ListBox3.TopIndex = ListBox3.ListCount
End Sub


Private Sub KaydetButton()
Dim ws As Worksheet
Dim controlArray As Variant
Dim control As Variant
Dim emptyCount As Integer
Dim i As Integer

' Çalışmak istediğiniz çalışma sayfasını (Worksheet) tanımlayın
Set ws = ThisWorkbook.Sheets("DÖKÜMAN") ' VeriSayfasi yerine kullanmak istediğiniz sayfa adını girin

' Kontrol elemanlarını bir dizi içinde topla
controlArray = Array(ComboBox1, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10)

' Boş kutu sayısını sıfırla
emptyCount = 0

' Her bir kontrol elemanını kontrol et
For i = LBound(controlArray) To UBound(controlArray)
Set control = controlArray(i)
If control.Value = "" Then
emptyCount = emptyCount + 1
control.BackColor = RGB(255, 0, 0) ' Kırmızı arka plan rengi
Else
control.BackColor = RGB(255, 255, 255) ' Beyaz arka plan rengi
End If
Next i

' Tüm kutular doluysa kaydetme işlemini gerçekleştir
If emptyCount = 0 Then
Dim son
Dim s1
Set s1 = Worksheets("DÖKÜMAN")
Application.ScreenUpdating = False


son = s1.Cells(Rows.Count, 2).End(3).Row
' Döküman sayfasına veriyi eklerken format kullanımı
s1.Cells(son + 1, 2).Value = Format(Date, "dd.mm.yyyy")
s1.Cells(son + 1, 3).Value = ComboBox1.Value
s1.Cells(son + 1, 4).Value = Format(TextBox3.Value, "0")
s1.Cells(son + 1, 5).Value = Format(TextBox4.Value, "0")
s1.Cells(son + 1, 6).Value = Format(TextBox5.Value, "0")
s1.Cells(son + 1, 7).Value = Format(TextBox6.Value, "0")
s1.Cells(son + 1, 8).Value = TextBox7.Text
s1.Cells(son + 1, 9).Value = Format(TextBox8.Value, "0")
s1.Cells(son + 1, 10).Value = Format(TextBox9.Value, "0")
s1.Cells(son + 1, 11).Value = Format(TextBox10.Value, "0")
ComboBox1.Value = ""
ComboBox2.Value = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
Application.ScreenUpdating = True
s1.Select

son = s1.Cells(Rows.Count, 2).End(3).Row
ListBox3.List = s1.Range("B4:K" & son).Value
ListBox3.TopIndex = ListBox3.ListCount
MsgBox "Veriler başarıyla kaydedildi!", vbInformation
Else
MsgBox "Lütfen tüm alanları doldurun!", vbExclamation
End If
End Sub

Private Sub Control_Change()
Dim control As Variant
control = Array(ComboBox1, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10)
For Each ctrl In control
If ctrl.Value <> "" Then
ctrl.BackColor = RGB(255, 255, 255) ' Beyaz arka plan rengi
End If
Next ctrl
End Sub
Teşekkür ederim şuan kontrol edemiyorum telefondan baktım siz kontrol etme şansınız var mı ilginiz için sagolun
 
Katılım
4 Haziran 2017
Mesajlar
158
Excel Vers. ve Dili
Microsoft Excel 2010 TR
Altın Üyelik Bitiş Tarihi
21-10-2024
Teşekkür ederim şuan kontrol edemiyorum telefondan baktım siz kontrol etme şansınız var mı ilginiz için sagolun
yeni yılınız hayırlara vesile olsun..
şimdi kontrol etme şansı buldum .
*combobox (isim ) dolu olacak
*textboxlardan herhangi biri dolu ise kayıt yapmasını istiyorum.
*renklendirme olmasın
ilginiz için teşekkür ederim emeğinize sağlık
 

Ekli dosyalar

Son düzenleme:
Katılım
4 Haziran 2017
Mesajlar
158
Excel Vers. ve Dili
Microsoft Excel 2010 TR
Altın Üyelik Bitiş Tarihi
21-10-2024
hocalarımdan yardım bekliyorum
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Arkadaşlar
bütün verilen konuları inceledim kendime göre düzenledim ama yapamadım
yardımlarınızı bekliyorum. teşekkürler
Merhaba, kodlar dosyanıza göre yazıldığı için ayrıca bir uyarlama yapmanıza gerek yok.
Eğer burada paylaştığınız dosya ile asıl dosyanız farklı değilse.

Ancak konulardan gördüğüm kadarı ile yapmak istedikleriniz ve dosyanız net değil.
Çünkü aynı konuda yapılan paylaşımlara göre isteklerinizde değişiyor.
Bu şekilde ilerleme olmayınca hem siz zaman kaybediyorsunuz hem sizin için kod yazan ya da düzenleyen kişi / kişilerde zaman kaybediyor.

Benim tavsiyem, VBA kısmını öğrenmek istiyorsanız öncelikle temel konuların anlatıldığı videoları izlemeniz.
Forumda paylaşılan konulardaki örnek dosyaları incelemeniz. Bu şekilde öğrenmeniz, kodları uyarlamanız daha kolay olacaktır.

Amacınız hem öğrenmek hem kendiniz için dosya/dosyalar hazırlamak ise yukarıda bahsettiğim gibi ilerleyebilirsiniz.
Amacınız sadece dosya hazırlatmak ise ücretli destek alabilirsiniz.
 
Üst