Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
- A tablosundaki plakaları bitişik yazdırma (01abc123 formatında):
Sub BitisikPlakalariDuzenle()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
' Çalışma sayfasını seçin (A tablosu)
Set ws = ThisWorkbook.Worksheets("A_tablosu")
' Son dolu satırı bulun
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Satırları dolaşarak plakaları bitişik hale getirin
For i = 2 To lastRow ' İlk satır başlıklar olduğu için 2'den başlatıyoruz
ws.Cells(i, 1).Value = Replace(Replace(Replace(ws.Cells(i, 1).Value, " ", ""), "-", ""), ".", "")
Next i
End Sub- B tablosundaki plakaları bitişik yazdırma (02def123 formatında):
Sub BitisikPlakalariDuzenle()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
' Çalışma sayfasını seçin (B tablosu)
Set ws = ThisWorkbook.Worksheets("B_tablosu")
' Son dolu satırı bulun
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Satırları dolaşarak plakaları bitişik hale getirin
For i = 2 To lastRow ' İlk satır başlıklar olduğu için 2'den başlatıyoruz
ws.Cells(i, 1).Value = Replace(Replace(Replace(ws.Cells(i, 1).Value, " ", ""), "-", ""), ".", "")
Next i
End Sub
- İki tablodaki verileri karşılaştırma ve eksik plakaları bulma:
Sub PlakaKarsilastir()
Dim wsA As Worksheet, wsB As Worksheet
Dim lastRowA As Long, lastRowB As Long
Dim i As Long, j As Long
Dim plakaA As String, plakaB As String
Dim plakaBulundu As Boolean
' A ve B tablolarını seçin
Set wsA = ThisWorkbook.Worksheets("A_tablosu")
Set wsB = ThisWorkbook.Worksheets("B_tablosu")
' Son dolu satırları bulun
lastRowA = wsA.Cells(wsA.Rows.Count, "A").End(xlUp).Row
lastRowB = wsB.Cells(wsB.Rows.Count, "A").End(xlUp).Row
' A tablosundaki plakaları bitişik hale getirin
For i = 2 To lastRowA ' İlk satır başlıklar olduğu için 2'den başlatıyoruz
wsA.Cells(i, 1).Value = Replace(Replace(Replace(wsA.Cells(i, 1).Value, " ", ""), "-", ""), ".", "")
Next i
' B tablosundaki plakaları bitişik hale getirin
For i = 2 To lastRowB ' İlk satır başlıklar olduğu için 2'den başlatıyoruz
wsB.Cells(i, 1).Value = Replace(Replace(Replace(wsB.Cells(i, 1).Value, " ", ""), "-", ""), ".", "")
Next i
' Eksik plakaları bulma işlemi
For i = 2 To lastRowA ' A tablosundaki plakaları dolaşın
plakaA = wsA.Cells(i, 1).Value
plakaBulundu = False
For j = 2 To lastRowB ' B tablosundaki plakaları dolaşın
plakaB = wsB.Cells(j, 1).Value
' Plaka eşleşmesi varsa işaretle ve döngüden çık
If plakaA = plakaB Then
plakaBulundu = True
Exit For
End If
Next j
' Eğer plaka eşleşmesi yoksa A tablosundaki plakayı mesaj kutusuyla bildirin
If Not plakaBulundu Then
MsgBox "Eksik plaka: " & wsA.Cells(i, 1).Value, vbExclamation
End If
Next i
End Sub
Yukarıdaki üç kod bloğunu Excel'de VBA editörüne (ALT + F11) kopyalayarak çalıştırabilirsiniz. "BitisikPlakalariDuzenle" kodları ile her iki tablodaki plakaları bitişik hale getirirken, "PlakaKarsilastir" kodu bu plakaları karşılaştırarak eksik olanları tespit edecektir. Eksik plakalar bir mesaj kutusuyla bildirilecektir.
Not: Kodları kullanmadan önce verilerinizi yedeklemenizi tavsiye ederim. Ayrıca, tablo adlarınızı "A_tablosu" ve "B_tablosu" olarak varsaydım, ancak kendi tablo adlarınıza göre düzenlemeyi unutmayın.