Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

860to864: Strassennamen ändern

Forumthread: Strassennamen ändern

Strassennamen ändern
05.04.2007 19:38:00
juergenk
Hallo,
ich habe in einer Tabelle in einer Spalte jeweils nur Strassennamen, die teilweise mit str., str oder auch mit strasse enden. Gibt es eine Möglichkeit, dass alle Strassen mit der Endung "straße" enden?
Danke im Voraus
Gruß
Jürgen
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Strassennamen ändern
05.04.2007 20:14:00
Sonnenpeter
Hallo,
der einfachste Weg ist wohl SUCHEN und ERSETZEN
Suchen str. Ersetzen straße
Suchen , str Ersetzen straße
Gruß Sonnenpeter
PS; Bearbeiten und dann auf Ersetzen klicken, dann die Eingaben
AW: Strassennamen ändern
05.04.2007 20:25:00
juergenk
Hallo Sonnenpeter,
das Problem ist, dass die Tabelle riesig groß ist und teilweise str auch mitten im Strassennamen vorkommt. Das kann also so nicht funtionieren, da nur die Endung ersetzt werden darf. Trotzdem, Danke für deine Antwort
Gruß
Jürgen
Anzeige
AW: Strassennamen ändern
05.04.2007 21:19:22
Peter
Hallo Jürgen,
ich hatte kürzlich das gleiche Problem bei der Übernahme von Werten aus einer TextBox.
Die habe ich so gelöst:
TextBox3.Value = Replace(TextBox3.Value, "str.", "straße")
TextBox3.Value = Replace(TextBox3.Value, "Str.", "Straße")
TextBox3.Value = Replace(TextBox3.Value, "strasse", "straße")
TextBox3.Value = Replace(TextBox3.Value, "Strasse", "Straße")
das musst du ggf. noch in eine For/Next Schleife verpacken - da du nicht verraten hast wo deine Daten stehen, kann ich dir keine genauere Info geben - leider.
Gruß Peter
Anzeige
AW: Strassennamen ändern
05.04.2007 21:39:00
Peter
Hallo Jürgen,
angenommen deine Straßennamen stehen in Tabelle1 in der Spalte C, dann sollte es so gehen:
Public Sub Strassen_Namen() Dim lZeile As Long Dim sTemp As String Application.ScreenUpdating = False With Worksheets("Tabelle1") For lZeile = 1 To Range("C65536").End(xlUp).Row .Range("C" & lZeile).Value = _ Replace(.Range("C" & lZeile).Value, "str.", "straße") .Range("C" & lZeile).Value = _ Replace(.Range("C" & lZeile).Value, "Str.", "Straße") .Range("C" & lZeile).Value = _ Replace(.Range("C" & lZeile).Value, "strasse", "straße") .Range("C" & lZeile).Value = _ Replace(.Range("C" & lZeile).Value, "Strasse", "Straße") sTemp = .Range("C" & lZeile).Value & " " If InStr(sTemp, "str ") > 0 Then .Range("C" & lZeile).Value = _ Replace(.Range("C" & lZeile).Value, "str", "straße") ElseIf InStr(sTemp, "Str ") > 0 Then .Range("C" & lZeile).Value = _ Replace(.Range("C" & lZeile).Value, "Str", "Straße") End If Next lZeile End With Application.ScreenUpdating = True End Sub Gruß Peter
Anzeige
AW: Strassennamen ändern
05.04.2007 22:44:00
juergenk
Hallo Peter,
das Makro macht zwar aus allen Namen die Endung Straße, hängt aber nach Straße noch noch "rasse" dran. Also z.B. bei Niederstr. macht er Niederstraßerasse raus
Gruß
Jürgen
AW: Strassennamen ändern
05.04.2007 23:03:00
Christian
Hallo Jürgen,
mit Formel, Du kannst Dir die Spalte ja kopieren und über Inhalte einfügen-Werte wieder in Deine Orginal Spalte einfügen:
Tabelle1

 AB
1Erste Hofstr. nach JWDErste Hofstraße nach JWD
2Zweite Hofstr nach JWDZweite Hofstraße nach JWD
3Dritte Hofstrasse nach JWDDritte Hofstraße nach JWD
4PoetenwegPoetenweg
5Str. der dt. EinheitStraße der dt. Einheit
6Erste Hofstr. Erste Hofstraße
7Zweite Hofstr Zweite Hofstraße
8Dritte Hofstrasse Dritte Hofstraße
91. Hofstrasse 1. Hofstraße
10August-Bebel-Str.August-Bebel-Straße
11KrawinkelKrawinkel
12Strasse der dt. EinheitStraße der dt. Einheit
13EinbahnstrEinbahnstraße
14EinbahnstrasseEinbahnstraße
15Einbahnstr.Einbahnstraße

Formeln der Tabelle
ZelleFormel
B1=WENN(ISTZAHL(FINDEN("Strasse";$A1;1)); WECHSELN($A1;"Strasse";"Straße"); WENN(ISTZAHL(FINDEN("Str.";$A1;1)); WECHSELN($A1;"Str.";"Straße"); WENN(ISTZAHL(FINDEN("Str";$A1;1)); WECHSELN($A1;"Str";"Straße"); WENN(ISTZAHL(SUCHEN("strasse";$A1;1)); WECHSELN($A1;"strasse";"straße"); WENN(ISTZAHL(SUCHEN("str.";$A1;1)); WECHSELN($A1;"str.";"straße"); WENN(ISTZAHL(SUCHEN("str";$A1;1)); WECHSELN($A1;"str";"straße"); $A1))))))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
MfG Christian
Anzeige
AW: kleine Verbesserung
05.04.2007 22:04:00
Peter
Hallo Jürgen,
besser noch so - 'Das Bessere ist des Guten Feind!'

Public Sub Strassen_Namen()
Dim lZeile  As Long
Dim sTemp   As String
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
For lZeile = 1 To Range("C65536").End(xlUp).Row
.Range("C" & lZeile).Value = _
Replace(.Range("C" & lZeile).Value, "str.", "straße")
.Range("C" & lZeile).Value = _
Replace(.Range("C" & lZeile).Value, "Str.", "Straße")
.Range("C" & lZeile).Value = _
Replace(.Range("C" & lZeile).Value, "strasse", "straße")
.Range("C" & lZeile).Value = _
Replace(.Range("C" & lZeile).Value, "Strasse", "Straße")
sTemp = .Range("C" & lZeile).Value & " "
If InStr(sTemp, "str ") > 0 Then
.Range("C" & lZeile).Value = Replace(sTemp, "str ", "straße")
ElseIf InStr(sTemp, "Str ") > 0 Then
.Range("C" & lZeile).Value = Replace(sTemp, "Str ", "Straße")
End If
Next lZeile
End With
Application.ScreenUpdating = True
End Sub
Gruß Peter
Anzeige
AW: kleine Verbesserung
05.04.2007 22:56:00
juergenk
Hallo Peter,
alles in Ordnung, habe nur einen kleinen Fehler gemacht. Das Makro funktioniert super gut.
Vielen Dank
Jürgen
;
Anzeige

Infobox / Tutorial

Strassennamen in Excel korrekt ändern


Schritt-für-Schritt-Anleitung

Um alle Strassennamen in einer Excel-Tabelle so zu formatieren, dass sie mit "straße" enden, kannst du ein einfaches Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und lade die Tabelle, die die Strassennamen enthält.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen > Modul.
  4. Kopiere den folgenden Code in das Modul:

    Public Sub Strassen_Namen()
        Dim lZeile As Long
        Dim sTemp As String
        Application.ScreenUpdating = False
        With Worksheets("Tabelle1")
            For lZeile = 1 To Range("C65536").End(xlUp).Row
                .Range("C" & lZeile).Value = _
                    Replace(.Range("C" & lZeile).Value, "str.", "straße")
                .Range("C" & lZeile).Value = _
                    Replace(.Range("C" & lZeile).Value, "Str.", "Straße")
                .Range("C" & lZeile).Value = _
                    Replace(.Range("C" & lZeile).Value, "strasse", "straße")
                .Range("C" & lZeile).Value = _
                    Replace(.Range("C" & lZeile).Value, "Strasse", "Straße")
                sTemp = .Range("C" & lZeile).Value & " "
                If InStr(sTemp, "str ") > 0 Then
                    .Range("C" & lZeile).Value = _
                        Replace(sTemp, "str ", "straße")
                ElseIf InStr(sTemp, "Str ") > 0 Then
                    .Range("C" & lZeile).Value = _
                        Replace(sTemp, "Str ", "Straße")
                End If
            Next lZeile
        End With
        Application.ScreenUpdating = True
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus:

    • Drücke ALT + F8, wähle Strassen_Namen aus und klicke auf Ausführen.

Das Makro wird alle Strassennamen in der Spalte C von "Tabelle1" entsprechend anpassen.


Häufige Fehler und Lösungen

  • Makro funktioniert nicht: Stelle sicher, dass du das Makro korrekt eingefügt hast und dass die Tabelle "Tabelle1" tatsächlich existiert.
  • Falsche Ersetzungen: Wenn das Makro unerwartete Ergebnisse liefert, überprüfe die Daten in deiner Spalte. Vergewissere dich, dass keine zusätzlichen Leerzeichen vorhanden sind.
  • Endung nicht korrekt angepasst: Achte darauf, dass die Bedingungen im Code so formuliert sind, dass nur die Endungen betroffen sind.

Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du auch folgende Alternativen ausprobieren:

  1. Formel verwenden: Du kannst eine Formel in einer neuen Spalte anwenden:

    =WENN(ISTZAHL(FINDEN("Strasse";A1));WECHSELN(A1;"Strasse";"Straße");WENN(ISTZAHL(FINDEN("Str." ;A1));WECHSELN(A1;"Str.";"Straße");WENN(ISTZAHL(FINDEN("str";A1));WECHSELN(A1;"str";"straße");A1)))
  2. Suchen und Ersetzen: Nutze STRG + H, um "str." durch "straße" zu ersetzen, aber sei vorsichtig, dass du nur am Ende der Strassennamen suchst.


Praktische Beispiele

Hier sind einige Beispiele, wie die genannten Methoden angewendet werden können:

Originalname Ergebnisname
Erste Hofstr. Erste Hofstraße
Zweite Hofstr nach JWD Zweite Hofstraße nach JWD
Dritte Hofstrasse nach JWD Dritte Hofstraße nach JWD
Str. der dt. Einheit Straße der dt. Einheit
Einbahnstr. Einbahnstraße

Du kannst die Formeln nutzen, um die korrekten Strassennamen in einer neuen Spalte zu generieren und dann die Werte zurück in die Originalspalte kopieren.


Tipps für Profis

  • Fehlerquellen minimieren: Füge vor dem Ausführen des Makros eine Sicherheitskopie deiner Daten an, um ungewollte Änderungen zu vermeiden.
  • Automatisierung: Überlege, das Makro als Schaltfläche in deine Excel-Oberfläche zu integrieren, um den Prozess zu beschleunigen.
  • Regelmäßige Backups: Mache regelmäßige Backups deiner Excel-Dateien, insbesondere wenn du mit großen Datenmengen arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, wenn die Straßennamen in einer anderen Spalte stehen? Du musst einfach die Spalte im Code ändern. Ersetze "C" durch die entsprechende Spaltenbezeichnung.

2. Was ist, wenn ich mehr Varianten der Endungen habe? Du kannst weitere Replace-Funktionen im Makro hinzufügen, um zusätzliche Endungen zu berücksichtigen. Achte darauf, die Logik beizubehalten, um nur das Ende der Namen zu beeinflussen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige