Merhabalar,
Öncelikle söyleyeceğim konuda bir araştırma yaptım ama bir sonuç bulamadım. Bir excel vba projesi üzerinde uğraşmaktayım.
2 tane userform üzerinden çalışıyorum, ilk girdiğim userform1 bilgilerim excel sayfasına kaydoluyor.Benim istediğim ise 2.kullandığım userform3 üzerinden girdiğim bilgilerin 1.Sütündaki PO numarası aynı ise aynı satırda işlem yapmasını bir alt satıra geçmemesini istiyorum. Özetle userform3 de gireceğim PO değeri daha önce girilmiş sütündaki değerle aynı ise o satıra girecek ve girdiğim değerlerin yanına pastal birimini yani textbox2 yi kaydedecek.
Kodlarım ise şu şekildedir;
Dim pir, sonsatir, sira, hucre As Variant
Private Sub CommandButton1_Click()
If TextBox1.Text = Empty Then
MsgBox ("PO kısmını boş geçmeyiniz"), vbOKOnly, "Uyarı!!!": Exit Sub
Else
End If
If TextBox2.Text = Empty Then
MsgBox ("Pastal Birimi yazmak mecburidir"), , "Uyarı!!!": Exit Sub
Else
End If
For Each hucre In Range("a2:a" & WorksheetFunction.CountA(Range("a1:a65000")))
If StrConv(hucre.Value, vbUpperCase) = StrConv(TextBox1.Value, vbUpperCase) Then
hucre.Select
TextBox3 = ActiveCell.Offset(0, 1).Value
End If
Next
pir = False
sonsatir = Cells(65536, 1).End(xlUp).Row
For X = 2 To sonsatir
If Cells(X, 1) & Cells(X, 3) & Cells(X, 4) = TextBox1 & TextBox2 Then
pir = True
sira = X
Exit For
End If
Next X
If pir = False Then
Cells(sonsatir + 1, 1) = TextBox1
Cells(sonsatir + 1, 4) = TextBox2
Cells(sonsatir + 1, 2) = TextBox3
MsgBox (sonsatir + 1 & ". sıraya kaydı yapıldı.")
Else
MsgBox ("Bu kayıt daha önce girilmiş..." & sira & ". satir")
End If
Unload UserForm3
Unload Me
End
End Sub
Öncelikle söyleyeceğim konuda bir araştırma yaptım ama bir sonuç bulamadım. Bir excel vba projesi üzerinde uğraşmaktayım.
2 tane userform üzerinden çalışıyorum, ilk girdiğim userform1 bilgilerim excel sayfasına kaydoluyor.Benim istediğim ise 2.kullandığım userform3 üzerinden girdiğim bilgilerin 1.Sütündaki PO numarası aynı ise aynı satırda işlem yapmasını bir alt satıra geçmemesini istiyorum. Özetle userform3 de gireceğim PO değeri daha önce girilmiş sütündaki değerle aynı ise o satıra girecek ve girdiğim değerlerin yanına pastal birimini yani textbox2 yi kaydedecek.
Kodlarım ise şu şekildedir;
Dim pir, sonsatir, sira, hucre As Variant
Private Sub CommandButton1_Click()
If TextBox1.Text = Empty Then
MsgBox ("PO kısmını boş geçmeyiniz"), vbOKOnly, "Uyarı!!!": Exit Sub
Else
End If
If TextBox2.Text = Empty Then
MsgBox ("Pastal Birimi yazmak mecburidir"), , "Uyarı!!!": Exit Sub
Else
End If
For Each hucre In Range("a2:a" & WorksheetFunction.CountA(Range("a1:a65000")))
If StrConv(hucre.Value, vbUpperCase) = StrConv(TextBox1.Value, vbUpperCase) Then
hucre.Select
TextBox3 = ActiveCell.Offset(0, 1).Value
End If
Next
pir = False
sonsatir = Cells(65536, 1).End(xlUp).Row
For X = 2 To sonsatir
If Cells(X, 1) & Cells(X, 3) & Cells(X, 4) = TextBox1 & TextBox2 Then
pir = True
sira = X
Exit For
End If
Next X
If pir = False Then
Cells(sonsatir + 1, 1) = TextBox1
Cells(sonsatir + 1, 4) = TextBox2
Cells(sonsatir + 1, 2) = TextBox3
MsgBox (sonsatir + 1 & ". sıraya kaydı yapıldı.")
Else
MsgBox ("Bu kayıt daha önce girilmiş..." & sira & ". satir")
End If
Unload UserForm3
Unload Me
End
End Sub