igultekin2000
Altın Üye
- Katılım
- 5 Eylül 2007
- Mesajlar
- 1,238
- Excel Vers. ve Dili
- ofis 2010
- Altın Üyelik Bitiş Tarihi
- 21-07-2024
iyi günler;
aşağıda kullandığım makro ile çalışıyor, bir ilave gerekiyor. C sütununda vergi no, D sütununda TC no yer alıyor, işlemde sonra B sütununda toplanıyor, ancak C ve D ' de bilgi varsa B' de birleşiyor, bunun yerine D' de değer varsa onu alıp C'yi dikate almaması , D boş ise C ' deki değeri alması şeklinde olacak şekilde ilave yapmak istiyorum. Örnek makroyu şu şekildedir
aşağıda kullandığım makro ile çalışıyor, bir ilave gerekiyor. C sütununda vergi no, D sütununda TC no yer alıyor, işlemde sonra B sütununda toplanıyor, ancak C ve D ' de bilgi varsa B' de birleşiyor, bunun yerine D' de değer varsa onu alıp C'yi dikate almaması , D boş ise C ' deki değeri alması şeklinde olacak şekilde ilave yapmak istiyorum. Örnek makroyu şu şekildedir
Kod:
Sub Bilgileri_Guncelle()
Dim S1 As Worksheet, S2 As Worksheet
Dim X As Long, Bul As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set S1 = Sheets("Sayfa1")
Set S2 = Sheets("LISTE")
Son = S1.Cells(Rows.Count, 1).End(3).Row
For X = 2 To Son
Set Bul = S2.Range("C:C").Find(S1.Cells(X, 1), , , xlWhole)
If Not Bul Is Nothing Then
If S1.Cells(X, 2) <> Bul.Offset(0, -2) Then
Bul.Offset(0, -2) = S1.Cells(X, 2)
End If
If S1.Cells(X, 3) & S1.Cells(X, 4) = Bul.Offset(0, -1) Then
Bul.Offset(0, -1) = S1.Cells(X, 3) & S1.Cells(X, 4)
End If
Else
Satir = S2.Cells(Rows.Count, 1).End(3).Row + 1
S2.Cells(Satir, 1) = S1.Cells(X, 2)
S2.Cells(Satir, 2) = S1.Cells(X, 3) & S1.Cells(X, 4)
S2.Cells(Satir, 3) = S1.Cells(X, 1)
End If
Next
Set S1 = Nothing
Set S2 = Nothing
Set Bul = Nothing
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "Güncelleme işlemi tamamlanmıştır.", vbInformation
End Sub
Ekli dosyalar
-
104.8 KB Görüntüleme: 5