userform combobox textbox sayfaya aktarma

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
merhaba bi uygulamada kullandığım kodlar var form üzerinden arkadaşlardan yardım alarak yapmaya çalıştığım bi yerde takıldım.

uygulamada userfom1 ve userform2 var userform 1 de yazan kodlarım sorunsuz çalışıyor...

userform2 ise sayfa2 ye işlem yaptırmak istiyorum userform2 açılışta sayfa1 de belirli hücrelerde yazılı olanlar combobox a geliyor burda seçmiş olduğum ve textbox ta yazıp kaydet dediğimde sayfa2 de olan combobox ta seçilen ürün adı alanına b5 den başlıyor textbox ta yazdığımda c5 alanına yazsın istiyorum combobox sırasına gelen ürün için 1 kayıt yapabilir başka bi ürün seçince sayfa2 deki bir alt satıra sıra no 2 kayıt yapıcak.

userform1 için kullandığım kodlar şunlar

örnek çalışmayı ekledim daha iyi anlaşılması için....

Private Sub UserForm_Initialize()
Dim i As Long
ComboBox1.ColumnCount = 2
ComboBox1.ColumnWidths = "100;0"
For i = 10 To 100 Step 5
If ThisWorkbook.Sheets("Sayfa1").Cells(i, "B").Value <> "" Then
ComboBox1.AddItem ThisWorkbook.Sheets("Sayfa1").Cells(i, "B").Value
ComboBox1.List(ComboBox1.ListCount - 1, 1) = i
End If
Next i
End Sub

Private Sub CommandButton1_Click()
Dim urunAdi As String
Dim urunSatir As Long
If ComboBox1.ListIndex = -1 Then
MsgBox "Lütfen bir ürün seçiniz.", vbExclamation
Exit Sub
End If
urunAdi = ComboBox1.Value
urunSatir = ComboBox1.List(ComboBox1.ListIndex, 1)
ThisWorkbook.Sheets("Sayfa1").Cells(urunSatir + 4, "B").Value = TextBox1.Value
MsgBox "Kaydedildi.", vbInformation
End Sub
 

Ekli dosyalar

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
userfom2 de yazdığım bu kodda comboboxta seçtiğimi sadece bi yere kayıt yapsın kodda revize etmem gereken yer
comboboxtaki veriyi ve textbox taki değeri buton ile kayıt yapabiliyorum sadece comboboxta sırasında seçileni bi kere kayıt yapsın....
Private Sub CommandButton1_Click()
Dim s1 As Worksheet, sat As Long
Set s1 = Sheets("Sayfa2")
sat = s1.Cells(Rows.Count, "b").End(xlUp).Row + 1
s1.Cells(sat, "b").Value = ComboBox1.Value
s1.Cells(sat, "c").Value = TextBox1.Value
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
Ürün adı A olsun.

A yı kayıt ettikten sonra sehven bir kere daha kayıt yapılmasın diye 1 defa kayıt edilmesinden mi bahsediyorsunuz ?
 

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
merhaba ürün adı a olan sayfa2 bi kere kayıt yapsın (combobox gelen değerler örnek deneme-test-test1-test2-test8-deneme geliyor ilk sıradaki deneme olanı seçtim textbox da paslanmaz demir yazdım kaydet dediğimde sayfa2 b6 hücresine deneme c6 hücresine paslanmaz demir yazdı.bu seferde test i seçtim b7 ve c7 alanlarına yazdı kaydetti ilk sıradaki deneme yi seçersem artık kayıt yapmıcak ama aynısından son sıradada var deneme ona kayıt yapabilcem isim aynı son sırada...
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
Özetle bir kere kaydettiğinizi tekrar kaydetmek istemiyorsunuz uyarı versin istiyorsunuz.

Userform2 de yer alan kaydet düğmesi için kod aşağıdaki gibidir.

Private Sub CommandButton1_Click()

Dim ws As Worksheet
Dim i As Long
Dim found As Boolean
Set ws = ThisWorkbook.Sheets("Sayfa2")

' Boş ComboBox1 veya TextBox1 kontrolü
If ComboBox1.Value = "" Or TextBox1.Text = "" Then
MsgBox "Lütfen tüm alanları doldurun!", vbExclamation
Exit Sub
End If

found = False

' B kolonunda Combobox1 değerini arama
For i = 6 To ws.Cells(ws.Rows.Count, 2).End(xlUp).Row
If ws.Cells(i, 2).Value = ComboBox1.Value Then
found = True
Exit For
End If
Next i

If found Then
MsgBox "Bu ürün zaten kayıtlı!", vbExclamation
Else
' Yeni kayıt ekleme
i = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row + 1
ws.Cells(i, 2).Value = ComboBox1.Value
ws.Cells(i, 3).Value = TextBox1.Text
MsgBox "Kayıt başarılı!", vbInformation
End If
End Sub
 

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
Özetle bir kere kaydettiğinizi tekrar kaydetmek istemiyorsunuz uyarı versin istiyorsunuz.

Userform2 de yer alan kaydet düğmesi için kod aşağıdaki gibidir.

Private Sub CommandButton1_Click()

Dim ws As Worksheet
Dim i As Long
Dim found As Boolean
Set ws = ThisWorkbook.Sheets("Sayfa2")

' Boş ComboBox1 veya TextBox1 kontrolü
If ComboBox1.Value = "" Or TextBox1.Text = "" Then
MsgBox "Lütfen tüm alanları doldurun!", vbExclamation
Exit Sub
End If

found = False

' B kolonunda Combobox1 değerini arama
For i = 6 To ws.Cells(ws.Rows.Count, 2).End(xlUp).Row
If ws.Cells(i, 2).Value = ComboBox1.Value Then
found = True
Exit For
End If
Next i

If found Then
MsgBox "Bu ürün zaten kayıtlı!", vbExclamation
Else
' Yeni kayıt ekleme
i = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row + 1
ws.Cells(i, 2).Value = ComboBox1.Value
ws.Cells(i, 3).Value = TextBox1.Text
MsgBox "Kayıt başarılı!", vbInformation
End If
End Sub
üstad combobox ilk sırada ve 4 sırada ürün adı aynı olan var kayıt yapmak istedim denedim de ürün zaten kayıtlı dedi... ben combobox ta aynı isimler yazanlar varsa ürün zaten kayıtlı kuralına bakmasın istiyorum...
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
Ben sizin ne istediğinizi tam olarak anlayamadım öyleyse.

Combobox ile seçtiğiniz değeri Sayfa 2 ye kayıt etmek istemiyor musunuz siz ?
 

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
evet sizin verdiğin kodda kayıt yapıyor zaten sayfa 2 ye sadece şunu demek istiyorum combobox gelen değerlerimizde aynı isimler var diyelim 5 tane değer geldi combobox seçim alanına

ahmet
mehmet
hasan
hüseyin
ahmet



comboboxtan ilk sırada Ahmet seçtim kayıt yaptım ya
sorun yok
5 inci sırada combobox ta Ahmet var onu seçtiğimde de kayıt kapsın ürün zaten kayıtlı demesin..
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
Private Sub CommandButton1_Click()

Dim ws As Worksheet
Dim i As Long
Dim found As Boolean
Set ws = ThisWorkbook.Sheets("Sayfa2")

' Boş ComboBox1 veya TextBox1 kontrolü
If ComboBox1.Value = "" Or TextBox1.Text = "" Then
MsgBox "Lütfen tüm alanları doldurun!", vbExclamation
Exit Sub
End If


' Yeni kayıt ekleme
i = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row + 1
ws.Cells(i, 2).Value = ComboBox1.Value
ws.Cells(i, 3).Value = TextBox1.Text
MsgBox "Kayıt başarılı!", vbInformation

End Sub
 

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
Private Sub CommandButton1_Click()

Dim ws As Worksheet
Dim i As Long
Dim found As Boolean
Set ws = ThisWorkbook.Sheets("Sayfa2")

' Boş ComboBox1 veya TextBox1 kontrolü
If ComboBox1.Value = "" Or TextBox1.Text = "" Then
MsgBox "Lütfen tüm alanları doldurun!", vbExclamation
Exit Sub
End If


' Yeni kayıt ekleme
i = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row + 1
ws.Cells(i, 2).Value = ComboBox1.Value
ws.Cells(i, 3).Value = TextBox1.Text
MsgBox "Kayıt başarılı!", vbInformation

End Sub
üstad uğraştırdım seni ama bu seferde comboxta seçili olan her seferinde kayıt yapıyor

combobox gelenler örnek
1-ahmet
2-mehmet
3-hasan
4-hüseyin
5-ahmet

1-ahmet seçtim sayfa 2 kaydetti
1-ahmet seçili kayıt yapmıcak artık
5-ahmet seçersem kayıt yapcak

her sıradaki bi kere kayıt yapsın

2-mehmet seçtim sayfa 2 kaydetti
3 hasan seçtim sayfa 2 kaydetti
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim i As Long
Dim found As Boolean
Dim rowNum As Long

Set ws = ThisWorkbook.Sheets("Sayfa2")
Set ws2 = ThisWorkbook.Sheets("Sayfa1")

' Boş ComboBox1 veya TextBox1 kontrolü
If ComboBox1.Value = "" Or TextBox1.Text = "" Then
MsgBox "Lütfen tüm alanları doldurun!", vbExclamation
Exit Sub
End If

found = False

' C kolonunda Combobox1 değerini arama
For i = 6 To ws.Cells(ws.Rows.Count, 3).End(xlUp).Row
If ws.Cells(i, 3).Value = ComboBox1.Value Then
found = True
Exit For
End If
Next i

If found Then
MsgBox "Bu ürün zaten kayıtlı!", vbExclamation
Else
' Yeni kayıt ekleme
i = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row + 1
ws.Cells(i, 2).Value = ComboBox1.Value
ws.Cells(i, 3).Value = TextBox1.Text
MsgBox "Kayıt başarılı!", vbInformation

' Kaydedilen veriyi işaretleme
For i = 10 To 100 Step 5
If ws2.Cells(i, "B").Value = ComboBox1.Value And ws2.Cells(i, "C").Value <> "X" Then
ws2.Cells(i, "C").Value = "X"
Exit For
End If
Next i

' Combobox'u güncelleme
Call UserForm_Initialize
End If
End Sub


Bu kod ile Sayfa 1 de kayıt edilenlerin C satırına X değeri koyuyoruz. Eğer kaydedilenin yanında X değeri var ise tekrar kayıt etmeyecek, yok ise kayıt edecek
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
Sayın Netvolxxx

Combobox'ta değeri seçip seçmediğinizin bilgisini nerede tutacağız ?

Ahmet
Mehmet
Hasan
Hüseyin
Ahmet

İlk ahmeti seçtik kaydettik okey.

Mehmeti seçtik kaydettik okey.

İlk ahmeti tekrar seçerse kişi bunun bilgisini bir yerde tutmamız gerektiği için sayfa1 e değer ataması yapıyoruz ve kaydınıız yapıyoruz.

Tekrar 1.sırada ki Ahmet'i seçip kaydetmek isterse uyarı veriyoruz.

Tam istediğinizin karşılğını verdiğimi düşünüyorum.

Farklı bir şey talep ediyorsanız ben ne istediğinizi anlayamadım başka arkadaş destek versin derim.
 

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
dediğini gibi olsunda ok ama son verdiğiniz kodda şunu yapıyor sistem
1-ahmet seçtik kaydetti
2-mehmet seçtik kaydettik
ben tekrar 2 seçtim mehmet tekrar kayıt yaptı


ilk mehmet te sayfa 2 b7 alanına yazdı c7 alanına yazdı
e artık ben 2 sırada mehmet seçsemde işlem yapmasın istediğim bu sadece
sizin verdiğiniz kodda tekrar kayıt yapıyor b8 mehmet yazdı.
ama listede combox ta gelen mehmet bitane var...
 

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
Sayın Netvolxxx

Combobox'ta değeri seçip seçmediğinizin bilgisini nerede tutacağız ?

Ahmet
Mehmet
Hasan
Hüseyin
Ahmet

İlk ahmeti seçtik kaydettik okey.

Mehmeti seçtik kaydettik okey.

İlk ahmeti tekrar seçerse kişi bunun bilgisini bir yerde tutmamız gerektiği için sayfa1 e değer ataması yapıyoruz ve kaydınıız yapıyoruz.

Tekrar 1.sırada ki Ahmet'i seçip kaydetmek isterse uyarı veriyoruz.

Tam istediğinizin karşılğını verdiğimi düşünüyorum.

Farklı bir şey talep ediyorsanız ben ne istediğinizi anlayamadım başka arkadaş destek versin derim.
verdiğiniz kodları sayfada uygulayıp yüklermisiniz benmi hata yapıyorum yoksa anlaşılmaktamı anlatmaktamı sorun yaşıyorum çözemedim hocam
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
Ektedir.
 

Ekli dosyalar

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
Üstad siz çok yorgunsunuz yada kafanız karışık bence yarın sabah sakin kafayla bakın yardımlarınız için teşekürrr ederim uğraştınız çok….
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
Niye ben anlaşamadım sizinle bu akşam anlamadım.

#5 nolu satırda kodu böyle vermiştim zaten.


Sayfa 1 de Test A diye bir kaydınız var. Buraya kadar okeyiz.

Sayfa 2 de kayıt etmek istiyorsunuz. Ve Userform2 yi açtık Comboboxa Sayfa1 de ki Test A yüklendi., Test A yı seçtik ve Textboxa bir şeyler yazıp kaydettik. Buraya kadar da okeyiz.


Şimdi sorum şu :

a) Test A tekrar kayıt yapılabilecek mi ?
b) Cevap Eğer evet ise #5 nolu kod
c) Cevap Eğer Hayır ise #9 nolu kod
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,289
Excel Vers. ve Dili
Microsoft Office 2019 English
Hayır kafam karışık değil. Müsait olamayacağım, cevabım yukarıdadır.

Diğer arkadaşlardan ilgilenen olur muhtemelen. Kolay gelsin.
 

netvolxxx

Altın Üye
Katılım
29 Ağustos 2023
Mesajlar
164
Excel Vers. ve Dili
2013 Türkçe
Altın Üyelik Bitiş Tarihi
07-03-2025
Niye ben anlaşamadım sizinle bu akşam anlamadım.

#5 nolu satırda kodu böyle vermiştim zaten.


Sayfa 1 de Test A diye bir kaydınız var. Buraya kadar okeyiz.

Sayfa 2 de kayıt etmek istiyorsunuz. Ve Userform2 yi açtık Comboboxa Sayfa1 de ki Test A yüklendi., Test A yı seçtik ve Textboxa bir şeyler yazıp kaydettik. Buraya kadar da okeyiz.


Şimdi sorum şu :

a) Test A tekrar kayıt yapılabilecek mi ?
b) Cevap Eğer evet ise #5 nolu kod
c) Cevap Eğer Hayır ise #9 nolu kod
test a tekrar kayıt yapamıcak yani cevap c


anlaşamadığımız nokta şu

sayfa 1 test A dan ikitane olsaydı işte zaman cevap d) şıkkı 2 tane test a yada bi kere kayıt yapıcaktı.

combobox gelen her list no eşittir bi sayfa 2 bi kayıt hakkı var....
 
Üst