İki koşula göre bulma

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Ýki koşula göre bulma

Merhaba

Benim userformumda 1 adet combobox1 (isim) , textbox1(ay no) ve textbox2 (veri) var
Ben bunlarla “Data” saysasında
Combobox1 ile “A” sutunu
Textbox1 ile “B” sütunu
Textbox2 ile “C” sütununa girişlerimi yazdırıyorum


Benim istediğim

Command butona bastığımda eğer girişlerimin arasında combobox1 ve textbox1’e ait aynı bilgiler varsa bana mesaj vererek makroyu sonlandırsın istiyorum.

Yani iki koşullu arama yapmam gerekiyor.

Saygılarımla
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Command butona yazdığınız kodları verirmisiniz.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Private Sub CommandButton1_Click()
'On Error Resume Next
Application.ScreenUpdating = False

ara = TextBox12 * 1
ara1 = ComboBox2

alan = Sheets("uretim_data").Range("I2:I500")
alan1 = Sheets("uretim_data").Range("H2:H500")

bak = Application.WorksheetFunction.vlookkup(ara, alan, 1, 0)
bak1 = Application.WorksheetFunction.vlookkup(ara1, alan1, 1, 0)

HATA = Application.WorksheetFunction.IsError(bak)
HATA1 = Application.WorksheetFunction.IsError(bak1)

If HATA = True And HATA1 = True Then GoTo ck


SATIRNO = Sheets("URETIM_DATA").Range("A1").Value
'"A1:A" & noA
Sheets("URETIM_DATA").Range("C" & SATIRNO).Value = TextBox2 * 1
Sheets("URETIM_DATA").Range("D" & SATIRNO).Value = TextBox3 * 1
Sheets("URETIM_DATA").Range("E" & SATIRNO).Value = TextBox5 * 1
Sheets("URETIM_DATA").Range("K" & SATIRNO).Value = TextBox6 * 1
Sheets("URETIM_DATA").Range("G" & SATIRNO).Value = ComboBox1
Sheets("URETIM_DATA").Range("H" & SATIRNO).Value = ComboBox2
Sheets("URETIM_DATA").Range("I" & SATIRNO).Value = TextBox12 * 1
Sheets("URETIM_DATA").Range("J" & SATIRNO).Value = TextBox1 * 1
'Sheets("URETIM_DATA").Range("F" & SATIRNO).Value = GIRISALAN9.Value
Sheets("URETIM_DATA").Range("S" & SATIRNO).Value = TextBox7 * 1
Sheets("URETIM_DATA").Range("T" & SATIRNO).Value = TextBox8 * 1
Sheets("URETIM_DATA").Range("U" & SATIRNO).Value = TextBox9 * 1
Sheets("URETIM_DATA").Range("V" & SATIRNO).Value = TextBox10 * 1
Sheets("URETIM_DATA").Range("P" & SATIRNO).Value = TextBox11 * 1
Sheets("URETIM_DATA").Range("Q" & SATIRNO).Value = TextBox4 * 1

Sheets("URETIM_DATA").Calculate
Label14.Caption = Sheets("URETIM_DATA").Range("A1").Value
'BITTI:
MsgBox "GİRİÞ_TAMAM...."
Exit Sub

'CIK:
'MsgBox ("AYNI TARIHLI VE MASRAFLI VERİ VAR !")
End Sub
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
MERHABA

Hata kodlarını çıkartıp aşağıdaki kodu düzenleyince oldu herhade

Teşekkür ederim.

If BAK <> "" And BAK1 <> "" Then GoTo ck

2. bir alternatif yol varsa önerebilirseniz ondanda yararlanmak isterim.

Saygılarımla
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba
on error resume next satırını kaldırınca
vlookup satırında hata verdi

ne önerirsiniz.

Saygılarımla
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
bak = Application.WorksheetFunction.vlookkup(ara, alan, 1, 0)

yerine

bak = columns(9).find(ara).row

şeklinde deneyin.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

2. yol için teşekkür ederim.



bak satırında veri bulamadığında hataya düşmemek için on error resume next satırını kaldırmamam gerekiyor herhalde

Saygılarımla
 
Üst