• DİKKAT

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

MAKRO İLE DÜŞEYARA ve HÜCRE BİRLEŞTİR

Katılım
6 Ekim 2006
Mesajlar
149
Excel Vers. ve Dili
2013
Sub Bul()
Dim x As Long
Dim s1 As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Set s1 = Sheets("1")
Son1 = Sheets("1").Cells(Rows.Count, "A").End(3).Row
Alan = "b2:ck" & Son1
satır = 2
For x = 2 To Son1
Range("b" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 2, 0)
Range("c" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 3, 0)
Range("d" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 31, 0)
Range("e" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 78, 0)
Range("F" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 44, 0)
satır = satır + 1
Next x
Application.ScreenUpdating = True
End Sub



(B) ve (C) hücresini birleştirip (B) de birleştirsin
 
Moderatör tarafında düzenlendi:
Kodunuzu aşağıdaki gibi deneyin.
Kod:
Sub Bul()
Dim x As Long
Dim s1 As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Set s1 = Sheets("1")
Son1 = Sheets("1").Cells(Rows.Count, "A").End(3).Row
Alan = "b2:ck" & Son1
satır = 2
For x = 2 To Son1
Range("b" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 2, 0)
Range("c" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 3, 0)
Range("b" & satır) = Range("b" & satır) & " " & Range("c" & satır)
Range("c" & satır) = ""
Range("d" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 31, 0)
Range("e" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 78, 0)
Range("f" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 44, 0)
satır = satır + 1
Next x
Application.ScreenUpdating = True
End Sub
 
Sub Bul()
Dim x As Long
Dim s1 As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Set s1 = Sheets("1")
Son1 = Sheets("1").Cells(Rows.Count, "A").End(3).Row
Alan = "b2:ck" & Son1
satır = 2
For x = 2 To Son1
Range("b" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 2, 0)
Range("c" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 3, 0)
Range("b" & satır) = Range("b" & satır) & " " & Range("c" & satır)
Range("c" & satır) = ""
Range("d" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 31, 0)
Range("e" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 78, 0)
Range("f" & satır) = WorksheetFunction.VLookup(Range("a" & satır), s1.Range(Alan), 44, 0)
satır = satır + 1
Next x
Application.ScreenUpdating = True
End Sub

Sayın Hocalarım
Bu Makroda sorguyu B sütun değilde (b8:b509) sorgu nasıl yaptırırım
 
Kodlara bakarasak; sorgulama yapılan alan:
Kod:
Alan= "b2:ck"&son1
olarak tanımlanmış.
son1 değişkeni 1 isimli sayfanın A sütununun son dolu hücresi olarak alınmış.
Kod:
Son1 = Sheets("1").Cells(Rows.Count, "A").End(3).Row
Bu şu anlama geliyor:
Eğer listede A sütunu örneğin 510. satıra kadar dolu ise

Aramalar B2:CK510 hücreleri içinde yapılacaktır.

Eğer amacınız, A sütunu son dolu satıra kadar değil SABİT olarak 509. satıra kadar ise
Kod:
Alan= "B8:ck509"
şeklinde tanımla yapabilirsiniz.
Not: bu şekilde tanımlama , arama yapılırken 2.ci satırdan 8.ci satıra kadar olan verileri dikkate almayacaktır.
 
Geri
Üst