Textfeld verkürzen in Excel

Hallo,

habe in einer Spalte z.B. den Eintrag ‚The Beatles‘ und möchte den Artikel ‚The‘ automatisch löschen.
Wie kann ich also bei allen Einträge in einer Spalte, die mit 'The ’ beginnen, dieses Wort löschen?

Danke.

habe in einer Spalte z.B. den Eintrag ‚The Beatles‘ und möchte
den Artikel ‚The‘ automatisch löschen.
Wie kann ich also bei allen Einträge in einer Spalte, die mit
'The ’ beginnen, dieses Wort löschen?

Hi Gunter,
schreibe in eine Hilfspalte z.B in H1:

=WENN(LINKS(A1;4)="The ";RECHTS(A1;LÄNGE(A1)-4);A1)

und kopiere das nach unten in der Hilfsspalte. Dann Hilfsplate markieren, Strg+C, markiere A1, Bearbeiten–Inhalte–einfügen–Werte und füge es in A1 ein.
Gruß
Reinhard

Hallo Reinhard,

danke für die Info. Geht das auch über ein Makro, so dass ich dies per Knopfdruck erledigen kann?

Gruß
Gunter

danke für die Info. Geht das auch über ein Makro, so dass ich
dies per Knopfdruck erledigen kann?

Hi Gunter,

Sub tt()
Worksheets(„Tabelle1“).Columns(„A“).Replace What:=„The „, Replacement:=““
End Sub

Gruß
Reinhard

Sub tt()
Worksheets(„Tabelle1“).Columns(„A“).Replace What:=„The „,
Replacement:=““
End Sub

Hallo Reinhard,

bekomme die Fehlermeldung:

Index außerhalb des gültigen Bereichs.

Gruß
Gunter

Sub tt()
Worksheets(„Tabelle1“).Columns(„A“).Replace What:=„The „,
Replacement:=““
End Sub

bekomme die Fehlermeldung:
Index außerhalb des gültigen Bereichs.

Hi Gunter,
dann hast du kein Tabellenblatt „Tabelle1“
Gruß
Reinhard

Hi Gunter,
dann hast du kein Tabellenblatt „Tabelle1“
Gruß
Reinhard

Hallo Reinhard,

jetzt läuft das Makro, bloß werden jetzt alle 'The ’ entfernt,

z.B. Abba - Thank You For (The )Music

Es sollen aber bloß die 'The ’ am Anfang entfernt werden.

Gruß
Gunter

jetzt läuft das Makro, bloß werden jetzt alle 'The ’ entfernt,

Hi Gunter,

Option Explicit

Sub tt()
Dim Zei As Long, Spalte As String
Spalte = "A" ' ggfs Anpassen
With Worksheets("Tabelle1") ' ggfs Anpassen
 For Zei = 1 To .Range(Spalte & "65536").End(xlUp).Row
 If UCase(Left(.Range(Spalte & Zei).Value, 4)) = "THE " Then
 .Range(Spalte & Zei).Value = Mid(.Range(Spalte & Zei).Value, 5)
 End If
 Next Zei
End With
End Sub

Gruß
Reinhard

1 „Gefällt mir“

Hallo Reinhard,

Klasse, jetzt läuft es.

Vielen Dank.

Perfekt wäre es, wenn das Makro universell wäre, also unabhängig von dem Namen der Mappe.
Aber das ist nur ein nice to have.

Gruß
Gunter

Perfekt wäre es, wenn das Makro universell wäre, also
unabhängig von dem Namen der Mappe.
Aber das ist nur ein nice to have.

Hi Gunter,
kein Problem,

Option Explicit

Sub tt()
Dim Zei As Long, Spalte As String
Spalte = "A" ' ggfs Anpassen
With ActiveSheet
 For Zei = 1 To .Range(Spalte & "65536").End(xlUp).Row
 If UCase(Left(.Range(Spalte & Zei).Value, 4)) = "THE " Then
 .Range(Spalte & Zei).Value = Mid(.Range(Spalte & Zei).Value, 5)
 End If
 Next Zei
End With
End Sub

Gruß
Reinhard

1 „Gefällt mir“

Hallo Reinhard,

funktioniert Bestens.

Nochmals vielen Dank.

Gruß
Gunter

Hallo Reinhard,

jetzt habe ich doch noch eine Frage:

Wie muss ich das Makro speichern, dass es auch neuen Mappen zur Verfügung steht?

Vielen Dank.

Gruß
Gunter

jetzt habe ich doch noch eine Frage:
Wie muss ich das Makro speichern, dass es auch neuen Mappen
zur Verfügung steht?

Hi Gunter,
Extras–Makro–Aufzeichnen, es kommt ein Fensterchen, da wählst du als Speicherort „persönliche Arbeitsmappe“.
Dann mache irgendwas belangloses, und beende die Makroaufzeichnung.
Excel hat nun eine „personl.xls“ erstellt. Es ist eine versteckte Datei die aber bei jedem Excelstart offen ist.
Im VB-Editor kannst du dann das aufgezeichnete Makro löschen und dein Makro reinkopieren in personl.xls.
Gruß
Reinhard

1 „Gefällt mir“

Hi Reinhard,

danke für die Info, klappt bestens.

Gruß
Gunter