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

Große Buchstaben finden und ersetzen

Große Buchstaben finden und ersetzen
21.04.2006 12:05:15
Frank
Hallo Leute, folgendes Problem ist zu knacken:
Ich habe in einer Spalte ca. 50.000 Straßennamen abgelegt.
Nun haben sich dort aber etliche Fehler eingeschlichen.
Der Wortteil "straße" wurde versehentlich oft groß geschrieben. Z.B.: MarktStraße.
Nun möchte ich, dass Excel alle Großbuchstaben durch Kleinbuchstaben ersetzt, es sei denn es ist der Wortanfang, es ist eine Leerstelle davor (für z.B.: Rendsburger Straße), oder es ist ein Bindestrich davor (z.B.: Müller-Straße).
Fehler anderer Art, wie z.B. eine unzulässige Abkürzung habe ich wie folgt geändert:
ActiveWorkbook.ActiveSheet.Columns("H:H").Select
Selection.Replace What:="str.", Replacement:="straße", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Ich denke, eine komplizierte Schleife durchlaufen zu lassen, dauert zu lange, oder?
Hat jemand eine glorreiche Idee?
Gruß
Frank

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Große Buchstaben finden und ersetzen
21.04.2006 13:22:17
th.heinrich
hi Frank,
Tabelle1
 AB
1kleinStrasseKleinstrasse
2Gross StrasseGross Strasse
3Normal-strasseNormal-Strasse
Formeln der Tabelle
B1 : =GROSS2(A1)
B2 : =GROSS2(A2)
B3 : =GROSS2(A3)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
gruss thomas
Anzeige
Geht das auch als Makro (VBA)?
21.04.2006 14:15:16
Frank
Hallo Thomas!
Das funktioniert ganz gut. Weist Du auch, wie ich das als Makro schreiben kann?
Ich bastele mit PROPER rum, bekomme es aber nicht hin, das innerhalb der ganzen Reihe H die Änderungen stattfinden. Ich möchte keine zusätzliche Reihe nehmen.
Das war mal ein Versuch. Aber ich beziehe mich da wohl immer nur auf eine Zelle.
ActiveWorkbook.ActiveSheet.Range("H:H").FormulaR1C1 = "=PROPER(R1C1)"
AW: Geht das auch als Makro (VBA)?
21.04.2006 14:29:46
Heiko
Hallo Frank,
per VBA für die alle Einträge in Spalte H z.B. so:
Sub Bereinigen() Dim lngI As Long Application.ScreenUpdating = False For lngI = 1 To ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row ActiveSheet.Cells(lngI, 8) = Application.WorksheetFunction.Proper(ActiveSheet.Cells(lngI, 8)) Next lngI Application.ScreenUpdating = True End Sub
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
Warum geht das so schnell?
21.04.2006 14:48:18
Frank
Hallo Heiko.
Das klappt super! DANKE DANKE!
Wenn ich das richtig sehe, hast du in dem Makro die benutzen Reihen ausgelesen und damit die Schleifendurchgänge bestimmt. Jetzt verrate mir mal, wieso diese For-Next-Schleife so verdammt schnell ist. Hat das was mit dem Abschalten des Screenupdates zu tun?
Ich hatte nämlich auch erst an eine For-Next-Schleife gedacht um alle Zelen einzeln anzusprechen, hatte das aber wieder verworfen, weil ich dachte es dauere zu lange.
Gruß
Frank
AW: Warum geht das so schnell?
21.04.2006 14:53:45
Heiko
Hallo Frank,
1. Grund ist das Screenupdating = False, kannst ja mal rausnehmen die Zeile und schauen wie lange es dann dauert.
2. Grund ist Application.WorksheetFunction.Proper denn das ist eine EXCEL / VBA Funktion, die wie alle fertigen (also bereits kompilierten Funktonen) recht schnell ist. Auf jeden Fall viel schneller als alles was man sich selbst strickt, weil eigener Code (Codezeilen) muss immer erst kompiliert werden.
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige

300 Forumthreads zu ähnlichen Themen


Hallo liebe Excel-Freunde,
ich habe folgendes kleines Makro.
Sub Suchen_Ersetzen() out = "15200" 'zu ersetzender String in = "43900" 'einzufügender String For Each cell In Selection If cell.HasFormula = True Then cell.Formula = Application.WorksheetFunction.Substitute(cell.Formula, ou...
Anzeige

Hallo Zusammen,
mit dem Code:
WSZ.Cells.Replace What:="""", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
ersetze ich " in allen Zellen.
Mache ich dies manuell so wird aus:
1348,52102" --> richtig 1348,...

Hallo,
in einer Spalte stehen untereinander mehrere Hundert Namenseinträge nach dem Muster:
>
Name und Vorname also in einer Zelle, getrennt durch ein Komma.
Ich möchte jetzt, dass nur der 1. Buchstabe des Vornamens mit einem Abkürzungspunkt in der Zelle steht, also
><...
Anzeige

Hallo,
irgendwie komme ich nicht weiter. Ich möchte mit einem Makro die Spalte "A1:A5000" nach der
Zeichenfolge "SV" durchsuchen und überall wo "SV" gefunden wird in der Zelle rechts daneben
(also in der gleiche Zeile in Spalte "B") das Datum "01.01.2008" eintragen.
Ein Ansat...

Hallo liebes Froum,
ich habe eine Spalte mit Werten, ca. 200 Zeilen. Die Werte bestehen aus 3ziffrigen Zahlen (010,011,100,271...). Diese Zahlen sollen durch andere 3ziffrige Zahlen ersetzt werden (z.B. 010 durch 001, 011 durch 004, 100 durch 200, 271 durch 355,...). Nun habe ich das Proble...

Hey !
Ich möchte Tabellenblätter kopieren und während oder nach dem kopieren des Tabellenblattes im kopierten Tabellenblatt eine Volltextsuche mit Textersetzung durchführen.
Kann mir jemand dazu einen Tipp geben?
Und gibt es zur Suche/Ersetzen eine bessere Variant als die aus der Ma...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige