• DİKKAT

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

Makro Güncelleme

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
İyi günler; tek sütunda yenilenen değer makrosu kullanıyorum, bunu üç sütunluya çevirmek istiyorum. Teşekkürler.
Kod:
Sub kod()
    Dim SD As Worksheet: Set SD = Sheets("Sayfa1")
    Dim SO As Worksheet: Set SO = Sheets("Sayfa2")
    Dim liste(), dizi()
    son = SD.Cells(Rows.Count, "C").End(3).Row
    liste = SD.Range("A2:E" & son).Value
    Set dic = CreateObject("scripting.dictionary")
    For x = 1 To UBound(liste, 1)
        aranan = liste(x, 1)
        If Not dic.exists(aranan) Then
            dic.Add aranan, ""
        End If
    Next x
    SO.Range("A2:A" & Rows.Count).ClearContents
    SO.Range("A2").Resize(dic.Count, 1) = Application.Transpose(dic.keys)
End Sub
ilk üç sütunu aktararak üzerinde işlem yapmam gerekiyor.
 

Ekli dosyalar

  • Resim 1.jpg
    Resim 1.jpg
    52.3 KB · Görüntüleme: 10
  • Resim 2.jpg
    Resim 2.jpg
    19.7 KB · Görüntüleme: 10
  • ÖRNEK DOSYA.xlsx
    ÖRNEK DOSYA.xlsx
    13.7 KB · Görüntüleme: 7
Örnek dosya yollarsanız fena olmaz.:cool:
 
Deneyiniz...

PHP:
Sub kod_1()
    Dim SD As Worksheet: Set SD = Sheets("Sayfa1")
    Dim SO As Worksheet: Set SO = Sheets("Sayfa2")
    Dim liste(), dizi(), b()
    son = SD.Cells(Rows.Count, "C").End(3).Row
    liste = SD.Range("A2:C" & son).Value
    Set dic = CreateObject("scripting.dictionary")
    For x = 1 To UBound(liste, 1)
        aranan = liste(x, 1) & liste(x, 2) & liste(x, 3)
        If Not dic.exists(aranan) Then
            dic(aranan) = dic.Count + 1
            say = dic.Count
            ReDim Preserve b(1 To 3, 1 To say)
            For j = 1 To 3
                b(j, say) = liste(x, j)
            Next j
        End If
    Next x
    SO.Range("A2:A" & Rows.Count).ClearContents
    SO.Range("A2").Resize(dic.Count, 3) = Application.Transpose(b)
    MsgBox "İşlem tamam.", vbInformation
End Sub
 
Deneyiniz...

PHP:
Sub kod_1()
    Dim SD As Worksheet: Set SD = Sheets("Sayfa1")
    Dim SO As Worksheet: Set SO = Sheets("Sayfa2")
    Dim liste(), dizi(), b()
    son = SD.Cells(Rows.Count, "C").End(3).Row
    liste = SD.Range("A2:C" & son).Value
    Set dic = CreateObject("scripting.dictionary")
    For x = 1 To UBound(liste, 1)
        aranan = liste(x, 1) & liste(x, 2) & liste(x, 3)
        If Not dic.exists(aranan) Then
            dic(aranan) = dic.Count + 1
            say = dic.Count
            ReDim Preserve b(1 To 3, 1 To say)
            For j = 1 To 3
                b(j, say) = liste(x, j)
            Next j
        End If
    Next x
    SO.Range("A2:A" & Rows.Count).ClearContents
    SO.Range("A2").Resize(dic.Count, 3) = Application.Transpose(b)
    MsgBox "İşlem tamam.", vbInformation
End Sub
Teşekkürler sorunsuz çalışıyor
 
Geri
Üst