• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

VLookup ve Ara/Bul Makrosunda Hata (Örnek dosya ekte)

Katılım
26 Kasım 2007
Mesajlar
6
Excel Vers. ve Dili
2003 Türkçe
Merhaba arkadaşlar,

Sheet 2'de Kısaltma (A) ve İsim (B) olan iki sütunum var. Sheet 1'de ise sadece kısaltmalar yer alıyor. Makro çalıştığında Sheet 1'deki Kısaltmaların karşısına Sheet 2'den çektiği isimleri yerleştiriyor.

Buraya kadar sorun yok. Fakat Sheet 1 (A)'nın sütunlarında boşluk ya da Sheet 2'de karşılığı olmayan bir eleman eklendiğinde Makro hatası alıyorum.

Tecrübeli arkadaşlar örnek dosyayı ve makroyu inceleyebilir mi acaba? Makroyu Sheet 1 (A)'nın sütunlarında boşluk ya da Sheet 2'de karşılığı olmayan bir eleman eklendiğinde Sheet 1 (B)'ye denk gelen sütununu "#Yok" şeklinde değiştirecek şekilde nasıl güncelleyebilirim?

Makro kodum:
Kod:
Sub Find_Full_Name()

Dim i As Integer

i = 2
j = 2

Application.ScreenUpdating = False

Do While Sheets("Sheet1").Range("A" & i).Value <> ""
Lable1:
If Sheets("Sheet1").Range("A" & i).Value = Sheets("Sheet2").Range("A" & j).Value Then
Sheets("Sheet1").Range("B" & i).Value = Sheets("Sheet2").Range("B" & j).Value
Else
j = j + 1
GoTo Lable1
End If

i = i + 1
Loop

MsgBox "Tamam!!!"
Application.ScreenUpdating = True

End Sub

Excel dosyası ekte.

Teşekkürler,
 

Ekli dosyalar

Kod:
Sub Find_Full_Name()

    Dim i As Long, BulSat As Long
    
    Application.ScreenUpdating = False
    
    With Sheets("Sheet1")
        For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
            On Error Resume Next
            BulSat = Application.Match(.Range("A" & i), Sheets("Sheet2").Columns("A"), 0)
            If Err Then
                Err.Clear
                .Range("B" & i).Value = "#Yok"
             Else
                .Range("B" & i).Value = Sheets("Sheet2").Range("B" & BulSat).Value
            End If
        Next i
    End With

End Sub
 
rica ederim.
 
Geri
Üst