Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1336to1340
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

Zeichen vor dem Text ersetzten

Zeichen vor dem Text ersetzten
10.11.2013 00:23:39
Zeny
Hallo,
ich habe eine Frage. Ich habe eine Tabelle mit X einträgen. Ich muss ein Code machen, in dem vor jedem Eintarg eine "h" vorne steht und eine "h" hinten.
Wie mache ich das mit einem VBA Code?
also vorher:
Spalte 1:
AA
BB
CC
DD
und so will ich es haben:
Spalte 1
h AA h
h BB h
h CC h
h DD h
ohne dass ich jede zeile Manuell ergänzen soll.
Danke im Voraus!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichen vor dem Text ersetzten
10.11.2013 00:50:50
Andy
Hallo Zeny,
meinst Du so: Schleife + verketten
Sub test2()
lrow = Cells.SpecialCells(xlCellTypeLastCell).Row
For i = 1 To lrow
wert = Cells(i, 1)
wert_mod = "h " & wert & " h"
Cells(i, 1) = wert_mod
Next i
End Sub
Gruß Andy

nimm nicht ... (xlCellTypeLastCell).Row
10.11.2013 05:17:29
Matthias
Hallo Andy
lrow = Cells.SpecialCells(xlCellTypeLastCell).Row
würde ich eher nicht benutzen, da es ja Zeilen außerhalb der Spalte(1) mit berücksichtigt.
Nehmen wir mal an in A1:A4 stehen die Werte die geändert werden sollen.
In C10 steht z.B. aber auch ein Wert.
Was passiert wenn jetzt der Code so durchläuft? Probiers mal aus.
Auch wenn Du den Inhalt von C10 jetzt wieder löschst,
wird beim nächsten Mal der gleiche Bereich gefüllt.
Zusätzlich würde ich noch abfragen ob nicht evtl. links schon die Zeichenfolge "h " steht.
Sonst wird bei jedem Ausführen vom Code immer wieder ein "h " vor und ein " h" hinten angefügt.
Gruß Matthias

Anzeige
Hier noch das Bsp. wie ich das meinte
10.11.2013 05:25:47
Matthias
Hallo
lrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lrow
If Left(Cells(i, 1), 2)  "h " Then
wert = Cells(i, 1)
wert_mod = "h " & wert & " h"
Cells(i, 1) = wert_mod
End If
Next i
Gruß Matthias

AW: Hier noch das Bsp. wie ich das meinte
10.11.2013 11:40:21
Zeny
Hallo,
Besten Dank für den Ansatz. Es funktioniert :)
Ich habe das jetzt nur auf Spalte 1 angewendet, was muss ich machen, damit es für den ganzen EXCEL Blatt (Alle Spalten und Zeilen) funktioniert?
Besten Dank und Gruß
Zeny

AW: nimm nicht ... (xlCellTypeLastCell).Row
10.11.2013 11:46:46
Andy
Hallo Matthias,
Du hast Recht. Besser ist "lrow = Cells(Rows.Count, 1).End(xlUp).Row". Man weiß ja nie, welche Werte in den anderen Spalten noch stehen. Bevor dann in den leeren A-Zellen überall "h h" steht.
Gruß Andreas

Anzeige
AW: nimm nicht ... (xlCellTypeLastCell).Row
10.11.2013 11:56:09
Zeny
Hallo,
Besten Dank für Eure Antworten!!!
Es funktioniert.
Wie kann ich den Code ergänzen, damit eine "h" in ALLEN Zeilen und Spalten einer EXCEL Tabelle steht..
Spalte 1 Spalte 2
h AA h h EE h
h BB h d ZZ h
h DD h u TR h
Besten Dank im Voraus!
Gruß Zeny

+ noch eine Variable für die Spalten
10.11.2013 12:08:36
Matthias
Hallo
Um mal beim Grundgerüst von Andy zu bleiben,
könnest man es so machen
Option Explicit
Sub ALLE()
Dim Col&, Lrow&, i&, wert_mod$, wert$
Application.ScreenUpdating = False
For Col = 1 To 256 'Spaltenanzahl anpassen
Lrow = Cells(Rows.Count, Col).End(xlUp).Row
For i = 1 To Lrow
If Left(Cells(i, Col), 2)  "h " And Cells(i, Col)  "" Then
wert = Cells(i, Col)
wert_mod = "h " & wert & " h"
Cells(i, Col) = wert_mod
End If
Next i
Next
End Sub
Gruß Matthias

Anzeige
AW: + noch eine Variable für die Spalten
10.11.2013 13:47:11
Zeny
Besten Dank!!!!

Es krankt wie immer an der Formulierung
10.11.2013 12:33:47
EtoPHG
Hallo zusammen,
Zitat-Betreff:Zeichen vor dem Text ersetzten
Ich nehme an es müsste ersetzen heissen, aber uuups, im Beitrag steht dann
Zitat:vor jedem Eintarg eine "h" vorne steht und eine "h" hinten.
aha, nichts ersetzen, sondern ergänzen, aber uuups, das Beispiel zeigt dann
Zitat:h AA h, als nicht nur ein "h" sondern h-Leerstelle bzw. Leerstelle-h
dann Zitat: mit einem VBA Code und Zitat: den ganzen EXCEL Blatt (Alle Spalten und Zeilen)
Warum mit gleich mit der VBA-Keule rein?
Formatiere alle Zellen mit

"h "@" h"
und der Kessel ist geflickt, aber beschreib ihn nächstes Mal konsistenter.
Gruess Hansueli
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige