Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Ersetzen mit "Zelleninhalt" bei Makro
#1
Hallo,

kann ich wenn ich einen Makro aufnehme den Inhalte einer Tabelle anstelle eines bestimmten Wortes mit dem Inhalt einer bestimmten Zelle ersetzen lassen?

Also ich hab eine Tabelle in der ich alle Wörter "Auto" automatisch mit "Schiff"ersetzen lassen möchte, das funktioniert auch. Aber kann ich anstelle das ich "Schiff" angebe, es so bearbeiten das es "Auto" immer mit dem Inhalt einer bestimmten Zelle, z.B. dem Inhalt von Zelle "C5" ersetzt?

Hier mein ganz einfaches Makro.


Sub Makro1()
'
' Makro1 Makro
'

'
    Range("H5:P19").Select
    Range("P19").Activate
    Selection.Replace What:="Auto", Replacement:="Schiff", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="Motorrad", Replacement:="Flugzeug", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub


Danke,

Mfg,

W.
Antworten Top
#2
Hallo,

ungetestet:


Code:
Range("H5:P19").Replace What:="Auto", Replacement:=Range("C5"), LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hallo,

Echt Vielen Dank. Das war schnell und unkompliziert, entschuldige, aber wie du dir denken kannst hab ich nicht so viel Durchblick und der Befehl "Range" war wohl was ich gesucht habe.

Funktioniert einwandfrei.

Danke,

Gruß,

W.
Antworten Top
#4
Hallo,

doch noch eine Frage.

Gibt es auch einen Befehl wie ähnlich dem "Range" um die Zellenfarbe einer bestimmten Zelle zu übernehmen?
Mit Range übernimmt er bei mir den Text und die jeweilige Zellenfarbe. Diese unterscheidet sich bei mir zwar nur zwischen Rot und Grün, aber die Farben sind in jedem Blatt unterschiedlich angeordnet. In meinem Makro funktioniert es also für das 1 Blatt, aber im 2 Blatt übernimmt es die Farbenfolge vom 1. Blatt.

Kann ich bei 
".Color = 255" nicht auch auf die Farbe einer bestimmten Zelle verweisen, z.B. Zelle "C5"? Oder hab ich das Makro falsch aufgenommen?
Besipiel:

    Application.ReplaceFormat.Borders(xlDiagonalDown).LineStyle = xlNone
    Application.ReplaceFormat.Borders(xlDiagonalUp).LineStyle = xlNone
    With Application.ReplaceFormat.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
        .PatternTintAndShade = 0

Danke,

Gruß,

W.
Antworten Top
#5
Hallöchen,

wenn Du z.B. Formatierungen übernehmen willst, kannst Du mal das Kopieren und Inhalte Einfügen - Formate aufzeichnen.
Ansonsten, wenn Du eine direkte Zuweisung willst, dann z.B. mit Range... oder mit Cells... und dann die jeweilige Eigenschaft
Code:
Cells(1,1).Interior.Color = Cells(5,3).Interior.Color
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste