• DİKKAT

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

Soru Sütun Karşılaştırma ve Yazma Yardım Edermisiniz

hocam merhaba şöyle bi sorum var sayfa 1 a sütünunda olan barkod numaralarımın sayfa 2 a sutunundaki barkod numara sıyla eşleşenlerin sayfa 2 c ve d sütünundaki sayıların sayfa 1 deki d ve e sütünuna gelebilirmi. kısacası şöyle anlatayım elimdeki barkod numaralı alış ve satışlarımın yeni fiyat listesinden çekmesi fonksiyonmu lazım makromu rice etsem fonksiyon veya makro atabilirmisiniz
 

a

b

c

d

e



a

b

c

d

barkod

malın cinsi

adet

alış fiyat

satış fiyat



barkod

malın cinsi

yeni alış fiyat

yeni satış fiyat

1234

ülker

1

5

6



1234

ülker

6

7
listem aynı örnekteki gibi 1 sayfadi bendeki var olan barkod numaraları bulup fiyatını güncelleyecek ben 2 sayfaya getirdiğim de eski fiyatları değiştirecek
 
DÜŞEYARA ile bu bilgileri 1. sayfaya alabilirsiniz. Böylece fiyat değişikliklerinde fiyatlar otomatik 1. sayfada da güncellenir. Sonrasında formülleri kopyala-özel yapıştır-değerler komutu ile dilerseniz formüllerden kurtulup güncel fiyatları sabitlemiş olursunuz. Dilediğiniz zaman bu işlemi tekrar ederek fiyat güncellemesi yapabilirsiniz.

Ayrıca bu işlem makro ile de yapılabilir. Veri sayısı fazla ise bu yöntemi tercih edebilirsiniz.

C++:
Option Explicit

Sub Fast_Vlookup()
    Dim S1 As Worksheet, S2 As Worksheet
    Dim Veri As Variant, X As Long
    Dim Zaman As Double, Say As Long
   
    Zaman = Timer
   
    Set S1 = Sheets("Sayfa1")
    Set S2 = Sheets("Sayfa2")
   
    Veri = S2.Range("A1").CurrentRegion.Value
   
    With VBA.CreateObject("Scripting.Dictionary")
        For X = LBound(Veri, 1) To UBound(Veri, 1)
            .Item(Veri(X, 1)) = Array(Veri(X, 3), Veri(X, 4))
        Next
   
        Veri = S1.Range("A2:A" & WorksheetFunction.Max(3, S1.Cells(S1.Rows.Count, 1).End(3).Row)).Value
       
        ReDim Liste(1 To S1.Rows.Count, 1 To 2)
       
        For X = LBound(Veri, 1) To UBound(Veri, 1)
            Say = Say + 1
            If .Exists(Veri(X, 1)) Then
                Liste(Say, 1) = .Item(Veri(X, 1))(0)
                Liste(Say, 2) = .Item(Veri(X, 1))(1)
            End If
        Next
        S1.Range("D2").Resize(Say, 2).Value = Liste
    End With
   
    Set S1 = Nothing
    Set S2 = Nothing
   
    MsgBox "İşleminiz tamamlanmıştır." & vbCrLf & vbCrLf & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 
TEŞEKKÜRLER ELİNİZE SAĞLIK ÇÖZÜLDÜ
 
Geri
Üst