Merhaba arkadaşlar diğer bir commondbuttonda çalışan fonksiyon userformda çalışmıyor kodlarım aşağıdaki gibidir.
Arama değeri örtüşürse hata veriyor. örtüşmüyorsa liste boş çıkıyor zaten. "*" kısımlarını ara kelime aratmak için kullandım. Listede olan bir değerin 3 5 harfini yazarak arattığımda da yine hataya düşüyor. ayrıca debug dediğimde for döngüsü baya ilerlemiş oluyor. Fonksiyon hatalıysa ilk başta nasıl dönüyor bu. Çıldırttı beni kesin basit bir hata var önümde kör oldum göremiyorum.
Gelen hata yazısı: worksheetfunction sınıfının vlookup özelliği alınamıyor. vlookup satırını sarıya boyuyor sonra ve for değeri i=57 gösteriyor
Private Sub CommandButton9_Click()
sonsatırı = ThisWorkbook.Worksheets("Sayfa1").Range("A9999").End(xlUp).Row
sonsatırı = sonsatırı + 10
ThisWorkbook.Worksheets("Sayfa2").Range("A2:H150").Value = ""
asx = Textara.Value
For i = 1 To sonsatırı
tabilo = "B" & i & ":G" & sonsatırı
cix = ThisWorkbook.Worksheets("Sayfa2").Range("A9999").End(xlUp).Row + 1
If WorksheetFunction.CountIf(Sheets("Sayfa1").Range("B:B"), "*" & asx & "*") > 0 Then
ThisWorkbook.Worksheets("Sayfa2").Range("B" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 1, False)
ThisWorkbook.Worksheets("Sayfa2").Range("C" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 2, False)
ThisWorkbook.Worksheets("Sayfa2").Range("D" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 3, False)
ThisWorkbook.Worksheets("Sayfa2").Range("E" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 4, False)
ThisWorkbook.Worksheets("Sayfa2").Range("F" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 5, False)
ThisWorkbook.Worksheets("Sayfa2").Range("G" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 6, False)
Else
End If
Next i
ListBox1.Width = 470
ListBox1.ColumnCount = 7
ListBox1.ColumnWidths = "50;130;20;40;55;120;45"
sonsatırı = ThisWorkbook.Worksheets("Sayfa2").Range("A9999").End(xlUp).Row
tablo = "'Sayfa2'!A2:G" & sonsatırı
ListBox1.RowSource = tablo
End Sub
Arama değeri örtüşürse hata veriyor. örtüşmüyorsa liste boş çıkıyor zaten. "*" kısımlarını ara kelime aratmak için kullandım. Listede olan bir değerin 3 5 harfini yazarak arattığımda da yine hataya düşüyor. ayrıca debug dediğimde for döngüsü baya ilerlemiş oluyor. Fonksiyon hatalıysa ilk başta nasıl dönüyor bu. Çıldırttı beni kesin basit bir hata var önümde kör oldum göremiyorum.
Gelen hata yazısı: worksheetfunction sınıfının vlookup özelliği alınamıyor. vlookup satırını sarıya boyuyor sonra ve for değeri i=57 gösteriyor
Private Sub CommandButton9_Click()
sonsatırı = ThisWorkbook.Worksheets("Sayfa1").Range("A9999").End(xlUp).Row
sonsatırı = sonsatırı + 10
ThisWorkbook.Worksheets("Sayfa2").Range("A2:H150").Value = ""
asx = Textara.Value
For i = 1 To sonsatırı
tabilo = "B" & i & ":G" & sonsatırı
cix = ThisWorkbook.Worksheets("Sayfa2").Range("A9999").End(xlUp).Row + 1
If WorksheetFunction.CountIf(Sheets("Sayfa1").Range("B:B"), "*" & asx & "*") > 0 Then
ThisWorkbook.Worksheets("Sayfa2").Range("B" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 1, False)
ThisWorkbook.Worksheets("Sayfa2").Range("C" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 2, False)
ThisWorkbook.Worksheets("Sayfa2").Range("D" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 3, False)
ThisWorkbook.Worksheets("Sayfa2").Range("E" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 4, False)
ThisWorkbook.Worksheets("Sayfa2").Range("F" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 5, False)
ThisWorkbook.Worksheets("Sayfa2").Range("G" & cix).Value = WorksheetFunction.VLookup("*" & asx & "*", ThisWorkbook.Worksheets("Sayfa1").Range(tabilo), 6, False)
Else
End If
Next i
ListBox1.Width = 470
ListBox1.ColumnCount = 7
ListBox1.ColumnWidths = "50;130;20;40;55;120;45"
sonsatırı = ThisWorkbook.Worksheets("Sayfa2").Range("A9999").End(xlUp).Row
tablo = "'Sayfa2'!A2:G" & sonsatırı
ListBox1.RowSource = tablo
End Sub
Son düzenleme:
