Microsoft Excel

Herbers Excel/VBA-Archiv

2 Spalten in 2 Tab.blättern vergleichen


Betrifft: 2 Spalten in 2 Tab.blättern vergleichen
von: Wolfgang
Geschrieben am: 15.04.2019 12:56:59

Hallo liebe Excellenzen !

Am Wochenende hatte ich eine Anfrage zu folgendem Problem gestellt:

"Bei Doppelklick auf einen Eintrag in Tabelle1-Spalte A soll der entsprechende Begriff in Tabelle2-Spalte A gesucht und die Inhalte der Fundzeile aus Tabelle 2 in die Textboxen einer Userform eingelesen werden".

Das klappt mit dem untenstehenden Code, den mir Sepp freundlicherweise zur Verfügung gestellt hat, auch prima. Leider hatte ich nicht daran gedacht, daß in der Datei, die ich bei der Arbeit verwende, jeweils die Einträge aus zwei Spalten (A&B)
der beiden Tabellenblätter miteinander verglichen werden sollen.

Hat Jemand vielleicht eine Idee, wie dies umgesetzt bzw. der vorhandene Code modifiziert werden kann ?

Vielen Dank für Eure Hilfe !

Liebe Grüße
Wolfgang

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim varRet As Variant
  
  If Target.Column = 1 And Target <> "" Then
    Cancel = True
    varRet = Application.Match(Target, Sheets("Tabelle2").Columns(1), 0)
    With frmClient
      .Tag = IIf(IsNumeric(varRet), varRet, Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp). _
Row + 1)
      .lblKunde = Target
      If IsNumeric(varRet) Then
        .txtCountry = Sheets("Tabelle2").Cells(varRet, 2).Text
        .txtPLZ = Sheets("Tabelle2").Cells(varRet, 3).Text
        .txtCity = Sheets("Tabelle2").Cells(varRet, 4).Text
        .txtLimit = Sheets("Tabelle2").Cells(varRet, 5).Text
      End If
      .Show
    End With
  End If
End Sub

  

Betrifft: AW: 2 Spalten in 2 Tab.blättern vergleichen
von: Rudi Maintaire
Geschrieben am: 15.04.2019 13:58:57

Hallo,
probier mal:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim varRet As Variant, vntMatch
  Dim lngRow As Long
  
  If Target.Column = 1 And Target <> "" And Target.Offset(, 1) <> "" Then
    vntMatch = Target & "_" & Target.Offset(, 1)
    Cancel = True
    With Sheets("Tabelle2")
      For lngRow = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
        If .Cells(lngRow, 1) & "_" & .Cells(lngRow, 2) = vntMatch Then
          varRet = lngRow
          Exit For
        End If
      Next lngRow
    End With
    With frmClient
      .Tag = IIf(IsNumeric(varRet), varRet, Sheets("Tabelle2").Cells(Rows.Count, 1) _
        .End(xlUp).Row + 1)
      .lblKunde = Target
      If IsNumeric(varRet) Then
        .txtCountry = Sheets("Tabelle2").Cells(varRet, 2).Text
        .txtPLZ = Sheets("Tabelle2").Cells(varRet, 3).Text
        .txtCity = Sheets("Tabelle2").Cells(varRet, 4).Text
        .txtLimit = Sheets("Tabelle2").Cells(varRet, 5).Text
      End If
      .Show
    End With
  End If
End Sub

Gruß
Rudi


  

Betrifft: AW: 2 Spalten in 2 Tab.blättern vergleichen
von: Wolfgang
Geschrieben am: 15.04.2019 14:15:43

Hallo Rudi !

Leider kann ich das Ganze momentan nicht testen,
da mich neue, eilige Aufträge im "Tagesgeschäft" voll beschäftigen.

Aber ich weiß aus Erfahrung, Daß Du nur "Qualitätsarbeit" leistest
und bin überzeugt, daß Dein Code funktioniert.

Vielen Dank dafür !

LG
Wolfgang


  

Betrifft: du Schmeichler ;-) owT
von: Rudi Maintaire
Geschrieben am: 15.04.2019 14:23:16