• DİKKAT

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

Run-Time Error 91 object variable or with block variable not set hatası

Katılım
9 Kasım 2006
Mesajlar
13
Excel Vers. ve Dili
Office Excel 2003 SP2
Merhabalar,

Konuyu nasıl anlatıcam bilmiyorum ama, Sayfa1 stokid ler ve bunlara air barkod numaraları var, stokid lerin bazılarının asıl barkad numarası ve yardımcı barkod numaraları. yapmak istediğim makro ile sayfa2 de A sütununa stokid yi B sütununa asıl barkod numarasını ve C-D-E-F sütunlarına varsa yardımcı barkodlarını yazdırmak. Yapmak istediğimi iç içe döngüler ile yaptım fakat dolayısı ile çok yavaş çalışıyor. Bende aşağıdaki kod yapısını yazdım fakat bunda da tarama yaptığında bir iki kere çalışıyor ve sonra Fc2 = Sayfa2.Columns("A").Find(What:=CStr(BARKODID)).Row kodunda Run-time error 91 hatasını veriyor bir türlü çözemedim. Yardımcı olursanız sevinirim.

Kod:
Sub Barkod_Ayikla()
Dim Say, SonSat_Ana, SonSat_List As Integer
Dim BARKODID, Yaz
SonSat_Ana = SonSatir(Sayfa1, 2)
SonSat_List = SonSatir(Sayfa2, 1)
Sayfa2.Activate
For x = 2 To SonSat_Ana
    Yaz = "KO"
    SonSat_List = SonSatir(Sayfa2, 1)
On Error GoTo hata
    BARKODID = Sayfa1.Cells(x, 2).Value
Fc2 = Sayfa2.Columns("A").Find(What:=CStr(BARKODID)).Row
            If Sayfa1.Cells(x, 3).Value = "Asıl" Then
                Sayfa2.Cells(Fc2, 2).Value = Sayfa1.Cells(x, 4).Value
            Else
                If Sayfa2.Cells(Fc2, 3).Value = "" Then
                    Sayfa2.Cells(Fc2, 3).Value = Sayfa1.Cells(x, 4).Value
                ElseIf Sayfa2.Cells(Fc2, 4).Value = "" Then
                    Sayfa2.Cells(Fc2, 4).Value = Sayfa1.Cells(x, 4).Value
                ElseIf Sayfa2.Cells(Fc2, 5).Value = "" Then
                    Sayfa2.Cells(Fc2, 5).Value = Sayfa1.Cells(x, 4).Value
                ElseIf Sayfa2.Cells(Fc2, 6).Value = "" Then
                    Sayfa2.Cells(Fc2, 6).Value = Sayfa1.Cells(x, 4).Value
                End If
            End If
            Yaz = "OK"
hata:
    If Yaz <> "OK" Then
        Sayfa2.Cells(SonSat_List + 1, 1).Value = BARKODID
            If Sayfa1.Cells(x, 3).Value = "Asıl" Then
                Sayfa2.Cells(SonSat_List + 1, 2).Value = Sayfa1.Cells(x, 4).Value
            Else
                Sayfa2.Cells(SonSat_List + 1, 3).Value = Sayfa1.Cells(x, 4).Value
            End If
            Yaz = "OK"
    End If
Next
End Sub
 
excel'de hazır makrosu var.
VLOOKUP/DÜŞEYARA fonksiyonu tam bunun için.
 
Geri
Üst