Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Straßen umbennenen

Forumthread: Straßen umbennenen

Straßen umbennenen
31.01.2005 13:41:19
Michi
Hi zusammen,
gibt es eine Möglichkeit Straßennamen die folgendermaßen aufgebaut sind: Teststr.
oder
Test Str. zu erkennen und folgendermaßen umzubennenen, Teststraße oder
Test Straße
Danke im vorraus für Hilfe
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Straßen umbennenen
31.01.2005 13:45:23
MRP
Hallo,
Strg+h ersetze: "tr." durch: "traße"
Ciao
Manuele Rocco Parrino
AW: Straßen umbennenen
31.01.2005 14:39:04
Peter
Hallo Michi,
so geht es, und ist ggf. noch erweiterbar, falls du noch andere Schreibweisen findest.
Gruß Peter


Option Explicit
' "Str.", "str.", "Str ", "str " als Straße bzw. straße
Public StraßeLang            As String
Sub Strasse()
Dim lZeile    As Long
Dim lLetzte   As Long
Dim sEingabe  As String
   lLetzte = IIf(Range("A65536") <> "", 65536, Range("A65536").End(xlUp).Row)
   For lZeile = 1 To lLetzte
      sEingabe = Cells(lZeile, 1).Value & " "   ' ein Space anhängen
      Call StraßeAusgeschrieben(sEingabe)       ' Str. ausschreiben !
      Cells(lZeile, 1).Value = Trim(StraßeLang) ' zurück übertragen
   Next lZeile
End Sub
'
'   ausschreiben des Begriffs "Straße", so dass Abkürzungen wie "Str.", "str."
'   aber auch Schreibfehler, wie "Strasse" oder gar Dreher, wie "Starße"
'   korrigiert werden.
'
Function StraßeAusgeschrieben(StraßenName As String)
Const StrGr As String = "Straße"      ' Straße groß  geschrieben
Const strKl As String = "straße"      ' straße klein geschrieben
  
   If InStr(StraßenName, "Str.") > 0 Then
      StraßeLang = Application.Substitute(StraßenName, "Str.", StrGr)
   ElseIf InStr(StraßenName, "Str ") > 0 Then
      StraßeLang = Application.Substitute(StraßenName, "Str ", StrGr)
   ElseIf InStr(StraßenName, "str.") > 0 Then
      StraßeLang = Application.Substitute(StraßenName, "str.", strKl)
   ElseIf InStr(StraßenName, "str ") > 0 Then
      StraßeLang = Application.Substitute(StraßenName, "str ", strKl)
   ElseIf InStr(StraßenName, "Strasse") > 0 Then
      StraßeLang = Application.Substitute(StraßenName, "Strasse", StrGr)
   ElseIf InStr(StraßenName, "strasse") > 0 Then
      StraßeLang = Application.Substitute(StraßenName, "strasse", strKl)
   ElseIf InStr(StraßenName, "Starße") > 0 Then
      StraßeLang = Application.Substitute(StraßenName, "Starße", StrGr)
   ElseIf InStr(StraßenName, "starße") > 0 Then
      StraßeLang = Application.Substitute(StraßenName, "starße", strKl)
   Else
      StraßeLang = StraßenName
   End If
Anzeige
;
Anzeige

Infobox / Tutorial

Straßennamen in Excel umbenennen


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Daten: Stelle sicher, dass die Straßennamen in einer Spalte deiner Excel-Tabelle stehen. Nehmen wir an, die Straßennamen befinden sich in Spalte A.

  2. Ersatzfunktion verwenden: Drücke Strg + H, um das Dialogfeld "Suchen und Ersetzen" zu öffnen.

    • Gebe im Feld "Suchen nach" die Abkürzung ein, zum Beispiel Str. oder str.
    • Im Feld "Ersetzen durch" gibst du Straße ein.
    • Klicke auf "Alle ersetzen".
  3. VBA-Makro nutzen: Für komplexere Fälle, in denen auch Schreibfehler wie Starße oder Strasse berücksichtigt werden sollen, kannst du ein VBA-Makro erstellen:

    Sub Strasse()
       Dim lZeile As Long
       Dim lLetzte As Long
       Dim sEingabe As String
       lLetzte = IIf(Range("A65536") <> "", 65536, Range("A65536").End(xlUp).Row)
    
       For lZeile = 1 To lLetzte
           sEingabe = Cells(lZeile, 1).Value & " " ' ein Space anhängen
           Call StraßeAusgeschrieben(sEingabe) ' Str. ausschreiben
           Cells(lZeile, 1).Value = Trim(StraßeLang) ' zurück übertragen
       Next lZeile
    End Sub
  4. Funktion für die Umbenennung erstellen:

    Function StraßeAusgeschrieben(StraßenName As String)
       Const StrGr As String = "Straße"
       Const strKl As String = "straße"
       ' Hier wird die Logik zur Ersetzung implementiert
       ' (Siehe oben für die Logik)
    End Function

Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass du das Makro korrekt in den VBA-Editor eingefügt hast und dass die Sicherheitsstufe für Makros in Excel angepasst wurde.
  • Fehler: Einige Abkürzungen werden nicht ersetzt.

    • Lösung: Überprüfe die Abkürzungen, die du ersetzt. Möglicherweise gibt es zusätzliche Varianten, die ergänzt werden müssen.

Alternative Methoden

  • Excel-Funktionen: Statt VBA kannst du auch die SUBSTITUTE-Funktion verwenden, um Abkürzungen in einer neuen Spalte zu ersetzen.

    =SUBSTITUTE(A1, "Str.", "Straße")
  • Power Query: Wenn du größere Datenmengen hast, kann Power Query eine effiziente Möglichkeit sein, um Straßennamen zu bereinigen und zu transformieren.


Praktische Beispiele

  • Beispiel 1: Teststr. wird zu Teststraße.
  • Beispiel 2: Test Str. wird zu Test Straße.
  • Beispiel 3: Starße wird zu Straße durch das VBA-Makro.

Tipps für Profis

  • Nutze benannte Bereiche für die Spalte mit Straßennamen, um deine Formeln und VBA-Codes übersichtlicher zu gestalten.
  • Erstelle Backups deiner Daten, bevor du Massenänderungen vornimmst.
  • Verwende die Datenüberprüfung, um sicherzustellen, dass nur gültige Straßennamen eingegeben werden.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Abkürzungen gleichzeitig ersetzen?
Du kannst die SUBSTITUTE-Funktion verschachteln oder mehrere Suchen und Ersetzen-Vorgänge in einem Makro kombinieren.

2. Was ist die beste Methode, um Straßennamen in großen Datenmengen zu bearbeiten?
Für große Datenmengen ist Power Query oft die effizienteste Lösung, da sie eine visuelle Schnittstelle bietet und Änderungen einfacher nachverfolgt werden können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige