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

Katılım
5 Ocak 2010
Mesajlar
14
Excel Vers. ve Dili
2007 dil türkçe
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
 
Katılım
5 Ocak 2010
Mesajlar
14
Excel Vers. ve Dili
2007 dil türkçe

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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,518
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
5 Ocak 2010
Mesajlar
14
Excel Vers. ve Dili
2007 dil türkçe
TEŞEKKÜRLER ELİNİZE SAĞLIK ÇÖZÜLDÜ
 
Üst