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

Cursorbewegung im Editiermodus in Makro

Forumthread: Cursorbewegung im Editiermodus in Makro

Cursorbewegung im Editiermodus in Makro
29.01.2015 11:37:58
Manfred
Hallo Excel-Kenner,
ich muss viele lange Listen (Spalten) mit Textfeldern ändern. Der Text besteht aus 12 Stellen. Die ersten 8 Stellen sind überall gleich, die letzten 4 unterschiedlich. Das 3.Zeichen muss von 3 auf 9 geändert werden. Mit "Suchen und Ersetzen" geht das auch in einem Rutsch. Allerdings geht dabei die Formatierung verloren. Diese unterscheidet wegen Ihrer Bedeutung in 4 Farben:
1.Stelle: schwarz (Kennziffer)
2.+3.Stelle: rot (Teilhaushalt)
4.-8.Stelle: blau (Produkt)
9.-12.Stelle: grün (Kostenträger)
Diese Kennzeichnungen liegen in vielen Tabellen für viele Produkte vor. Nun hat sich unser Teilhaushalt von 03 auf 09 geändert. Ich möchte eigentlich also die Tastenkombinationen als Makro speichern:
-F2- -Pos1- -rechts- -rechts- -Del- -9- -Enter- -unten-
Dabei bleibt die Formatierung erhalten. Geht das per Makro?
Mein aufgezeichnetes Makro klappt nicht, es schreibt in jeder Zelle das komplett gleiche rein. Hat wer ne Idee?
Gruß
Manfred

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Cursorbewegung im Editiermodus in Makro
29.01.2015 11:43:40
ede
Hallo Manfred,
dass würde auch per Hilfssplate gehen
=LINKS(A1;2) & "9" & RECHTS(A1;9)
dann kopieren und Werte einefügen
ede

dann hast du aber noch immer nicht ...
29.01.2015 11:50:12
Rudi
Hallo,
... die unterschiedlichen Schriftfarben.
Gruß
Rudi

AW: Cursorbewegung im Editiermodus in Makro
29.01.2015 11:49:16
Rudi
Hallo,
im Editiermodus laufen Makros nicht.
Das kann man so realisieren:
Für die Auswahl:
Sub aaaaa()
Dim r As Range
Application.ScreenUpdating = False
For Each r In Selection
r.NumberFormat = "@"
r = Left(r, 2) & "9" & Mid(r, 4)
r.Characters(1, 1).Font.Color = RGB(0, 0, 0)
r.Characters(2, 2).Font.Color = RGB(255, 0, 0)
r.Characters(4, 5).Font.Color = RGB(0, 0, 255)
r.Characters(9, 4).Font.Color = RGB(0, 128, 0)
Next r
Selection(1).Select
End Sub

Anzeige
AW: Cursorbewegung im Editiermodus in Makro
29.01.2015 11:50:18
Klaus
Hi Manfred,
im Prinzip so:
Private Sub CommandButton1_Click()
activecell.activate
SendKeys ("{F2}{HOME}{RIGHT}{RIGHT}{DEL}9~")
end sub
das geht aber nur wenn du es aus der Tabelle heraus ausrufst (zum Beispiel per Button), da F2 im Editor etwas anderes macht als in der Zelle selber.

Anzeige
AW: Cursorbewegung im Editiermodus in Makro
29.01.2015 12:31:27
Tino
Hallo,
habe es mal so versucht.
Suchbereich evtl. anpassen!
Farben im Code evtl. anpassen!
Sub Ersetze_Teil()
Dim rngSuchBereich As Range, rngTmp As Range, sErste$
Dim SucheNach$, ErsetzeDurch$, PosInText%

SucheNach = "?03?"
ErsetzeDurch = "09"
PosInText = 2

Set rngSuchBereich = Tabelle1.Range("A:A")


Set rngTmp = rngSuchBereich.Find(What:=SucheNach, LookIn:= _
        xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False)
        
If Not rngTmp Is Nothing Then
    sErste = rngTmp.Address
    Do
        With rngTmp
            .Value = Left$(.Text, PosInText - 1) & _
                     ErsetzeDurch & _
                     Right$(.Text, 12 - Len(ErsetzeDurch) - PosInText + 1)
                     
            .Characters(Start:=1, Length:=1).Font.Color = RGB(0, 0, 0)
            .Characters(Start:=2, Length:=2).Font.Color = RGB(255, 0, 0)
            .Characters(Start:=4, Length:=5).Font.Color = RGB(0, 112, 192)
            .Characters(Start:=9, Length:=4).Font.Color = RGB(0, 176, 80)
        End With
        Set rngTmp = rngSuchBereich.FindNext(rngTmp)
        If rngTmp Is Nothing Then Exit Do
    Loop While sErste <> rngTmp.Address
End If
End Sub
Gruß Tino
Anzeige
;

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