• DİKKAT

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

eğer haya düşeyara makro

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Kod:
=EĞERHATA(DÜŞEYARA(C1;K:M;2;0);"")

Kolay gelsin arkadaşlar..
Makro olarak nasıl yapabilrim?
Kod hata vermemsi gerekior. eğer yoksa formuldeki gibi hğre boş olması gerekiyor.
Kodu çalıştrıdığımda. Vlookup bu özelliği kullanılamıyor şeklinde hata almamm gerekiyor.
Hata olduğunda da exit sub eklemesi de olmamamsı gerekiyor..
 
. . .

Kod:
Sub kod()
    On Error Resume Next
    If Range("C1") <> "" Then
        If WorksheetFunction.CountIf(Range("K:K"), Range("C1")) > 0 Then  [COLOR="Green"]  'EĞERSAY[/COLOR]
            Range("C2") = WorksheetFunction.VLookup(Range("C1"), Range("K:M"), 2, 0)  [COLOR="Green"]  'DÜŞEYARA[/COLOR]
        Else
            Range("C2") = ""
        End If
    Else
        MsgBox " Aranan Değer Boş ", vbCritical
    End If
End Sub

. . .
 
Hocam güzel de fakat uzun olacak sanırım .
Aşağıdaki koda nasıl uyarlayacağım bilemiyorum.
Kod:
Sub barkod()
Set s1 = Sheets("ARIZA GÖNDERİM")
Set s2 = Sheets("teknoloji envanter")
Set s3 = Sheets("firma")
aranan = s1.Range("b2")
On Error GoTo hata
 Range("A8:BN51").ClearContents
 
s1.Range("a13") = WorksheetFunction.VLookup(aranan, s2.Range("A:AW"), 6, 0)
s1.Range("k28") = WorksheetFunction.VLookup(aranan, s2.Range("A:AW"), 4, 0)
s1.Range("h28") = "1"
s1.Range("a28") = WorksheetFunction.VLookup(aranan, s2.Range("A:AW"), 3, 0)
 
bul = Left(s1.Range("a13"), 5)
A = s3.Cells.Find([bul])

s1.Range("a15") = WorksheetFunction.VLookup((A), s3.Range("B:AW"), 2, 0)
s1.Range("a17") = WorksheetFunction.VLookup((A), s3.Range("B:AW"), 3, 0)
s1.Range("a18") = WorksheetFunction.VLookup((A), s3.Range("B:AW"), 4, 0)
s1.Range("a8") = WorksheetFunction.VLookup((A), s3.Range("B:AW"), 5, 0)
s1.Range("a9") = WorksheetFunction.VLookup((A), s3.Range("B:AW"), 6, 0)


hata:      Call COPY

End Sub
 
. . .

Bu şekilde çokta uzun gelmedi bana. Şimdi çıkmam gerekiyor. Diğer kısmı yapabilirsiniz.

Kod:
    On Error Resume Next
    If WorksheetFunction.CountIf(S2.Range("A:A"), aranan) > 0 Then
        s1.Range("a13") = WorksheetFunction.VLookup(aranan, S2.Range("A:AW"), 6, 0)
        s1.Range("k28") = WorksheetFunction.VLookup(aranan, S2.Range("A:AW"), 4, 0)
        s1.Range("h28") = "1"
        s1.Range("a28") = WorksheetFunction.VLookup(aranan, S2.Range("A:AW"), 3, 0)
    Else
        Range("A13, K28, H2, A28") = ""
    End If

. . .
 
Geri
Üst