Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spaltenvergleich VBA

Spaltenvergleich VBA
20.05.2017 23:19:10
Gustavo
Ich würde gerne in Spalte B (Ort) und C (PLZ) die Orten und PLZ eintragen. Oft weiß ich nur eine der beiden. Jetzt würde ich gerne das er die andere Spalte automatisch vervollständigt, eine Ort-PLZ Tabelle habe ich im Internet gefunden. Jemand eine Idee wie ich es umsetze? Habe erstmal es erstmal für den Fall, dass ich nur den Ort weiß (z.B. Frankfurt) versucht.
Spalte A in PLZ-Liste ist die PLZ als Zahl
Spalte B in PLZ-Liste ist der Ort ausgeschrieben
Sub PLZ_Vergleich()
Dim PLZ_i As Long
Dim i As Long
For i = 2 To Range("B").End(xlUp).Row
If Sheets("Models").Cells(i, 3).Value = "" Then
For PLZ_i = 2 To Range("A").End(xlUp).Row
If Sheets("PLZ").Cells(PLZ_i, 2).Value = Sheets("Models").Cells(i, 2).Value Then
Sheets("Models").Cells(i, 3) = Sheets("PLZ").Cells(PLZ_i, 1).Value
Exit For
Next PLZ_i
Next i
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenvergleich VBA
21.05.2017 07:27:10
Hajo_Zi
suche mit Find ist schneller.
Set Rafound1 = Columns(1).Find("Erledigt", Range("A" & Rows.Count), xlFormulas, _
xlWhole, , xlNext)
If Not RaFound Is Nothing Then
MsgBox RaFound.Row
End If
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.

AW: Spaltenvergleich VBA
21.05.2017 07:37:03
Sepp
Hallo Gustavo,
folgenden Code in das Modul der Tabelle kopieren (Rechtsklick aud Tabellenregister > Code anzeigen). Bei einer Eingabe in B:C wird der andere Teil automatisch ausgefüllt.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntRet As Variant

On Error GoTo ErrExit
Application.EnableEvents = False

If Not Intersect(Target, Range("B:C")) Is Nothing Then
  If Target.Count = 1 And Target <> "" Then
    If Target.Column = 2 Then
      vntRet = Application.Match(Target, Sheets("PLZ").Columns(2), 0)
      If IsNumeric(vntRet) Then Target.Offset(0, 1) = Sheets("PLZ").Cells(vntRet, 1)
    Else
      vntRet = Application.Match(Target, Sheets("PLZ").Columns(1), 0)
      If IsNumeric(vntRet) Then Target.Offset(0, -1) = Sheets("PLZ").Cells(vntRet, 2)
    End If
  End If
End If

ErrExit:
Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Spaltenvergleich VBA
21.05.2017 18:24:51
Gustavo
Moin Sepp, der Code schließt doch das Sheet("Models") aus oder nicht?
Kannst du mir deine Idee nochmal genauer erklären?
AW: Spaltenvergleich VBA
21.05.2017 18:30:56
Sepp
Hallo Gustavo,
der Code gehört in das Modul von "Models", daher braucht man sich nicht extra darauf beziehen!
Gruß Sepp

AW: Spaltenvergleich VBA
21.05.2017 19:42:01
Gustavo
dann möchte er irgendwie einen Makronamen eintragen, wenn ich das machen gehts auch nicht weiter.
Das Fenster sieht so aus: https://gyazo.com/aae05f6d971522ec4ce9c554550812e6?token=c74a790f828d5ff130f746e021273b64
Anzeige
AW: Spaltenvergleich VBA
21.05.2017 19:59:30
Sepp
Hallo Gustavo,
lade doch einfach deine Datei hoch, das wird ja zum Ratespiel.
Gruß Sepp

AW: Spaltenvergleich VBA
21.05.2017 20:03:41
Sepp
Hallo Gustavo,
du versuchst das Makro zu starten ,das geht nicht! Du brauchst nur in "Models" in B oder C etwas eingeben, dann läuft der Code automatisch.
Gruß Sepp

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige