• 26-07-2023, 16:00:26
    #1
    2 adet e-tablo verim var.
    a tablomda plaka listemde örnek olarak: 01 abc 123 yazıyor.
    b tablomda ise : 02 def123yazıyor.

    Benim amacım bu iki tablodaki verileri karşılaştırarak eksik olan plakaları bulmak,öncelikle:
    -a tablosunda yer alan "01 abc 123" plakası yazan sütunu komple "01abc123" şeklinde bitişik yazdırabilirim?
    -Tüm satırları bitişik olarak kurguladığımda bu iki tablodaki verileri nasıl kıyaslayarak eksikleri bulabilirim?
  • Kabul Edilen Cevap
    • 0 Beğeni
      1. 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
      1. 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.
  • 26-07-2023, 16:01:51
    #2
    Merhabalar

    Excel konusunda çok bilgi sahibi değilim fakat DÜŞEYARA formülünün işinize yaracağını düşünüyorum.
    İlgili formül ile alakalı işlemlerin nasıl gerçekleştirildiği youtube videolarında bolca mevcut.
  • 26-07-2023, 16:11:36
    #3
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    1. 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
    1. 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.
  • 26-07-2023, 16:13:33
    #4
    Merhaba,
    DÜŞEYARA formülü ile iki tarafta ki plakaları karşılaştırıp, eksik olanı bulmanız mümkündür.
    Mesaj gönderimi sağladığınız da yardımcı olabilirim size.