Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn nicht leer, ersetzen duch Spalte A

Wenn nicht leer, ersetzen duch Spalte A
17.07.2016 11:09:13
Bekks
Guten Morgen,
ich habe mit dem Makro-Recorder versucht mein Problem aufzuzeichnen. Leider tut er noch nicht ganz das, was ich wirklich möchte.
Um sich das Problem besser vorstellen zu können, habe ich eine Beispiel Datei hochgeladen: https://www.herber.de/bbs/user/107066.xlsx
Mein Versuch sah wie folgt aus:
Sub Makro1()
Range("C2:R2").Select
Selection.Replace What:="Teilnehmen", Replacement:="17.07.2016", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Allerdings möchte ich eigentlich, dass jede Zeile nach einander durchgegangen wird und nicht nur meine erste makierte. Des weiteren sucht mein Makro nur nach "Teilnehmen" aber es soll gleichzeitig nach "Teilnehmen" & "Anmelden" suchen, damit beides ersetzt wird. Und momentan steht dort, dass das Datum anstelle dessen eingetragen werden soll, in wirklichkeit möchte ich dort den Wert aus Spalte A (den Zeitstempel) haben.
Ich glaube dies müsste eigentlich über If nicht leer gemacht werden?
Ich freue mich auf Anregungen und Hilfe von euch!
LG Bekks

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn nicht leer, ersetzen duch Spalte A
17.07.2016 11:42:05
Hajo_Zi
eine XlsX Datei kann kein Makro enthalten.

AW: Wenn nicht leer, ersetzen duch Spalte A
17.07.2016 12:16:06
Nepumuk
Hallo,
so?
Public Sub Ersetzen()
    Dim lngRow As Long
    With Tabelle1
        For lngRow = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
            Call .Rows(lngRow).Replace(What:="Anmelden", Replacement:=Cells(lngRow, 1).Value, _
                LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False)
            Call .Rows(lngRow).Replace(What:="Teilnehmen", Replacement:=Cells(lngRow, 1).Value, _
                LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False)
        Next
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Wenn nicht leer, ersetzen duch Spalte A
17.07.2016 18:23:44
Bekks
Hallo Nepumuk,
ja genau so! Danke Dir für die Hilfe :)
Funktioniert super.
LG, Bekks
AW: Wenn nicht leer, ersetzen duch Spalte A
17.07.2016 20:56:51
Werner
Hallo Nepumuk,
kannst du einem Mitleser erklären weshalb hier das Call verwendet und benötigt wird.
Gruß Werner
AW: Wenn nicht leer, ersetzen duch Spalte A
17.07.2016 21:31:20
Nepumuk
Hallo Werner,
ich mach das um Methoden von Eigenschaften zu unterscheiden, du kannst es aber auch weg lassen.
Gruß
Nepumuk
AW: Wenn nicht leer, ersetzen duch Spalte A
17.07.2016 21:54:44
Werner
Hallo Nepumuk,
danke erst mal für die schnelle Antwort. Das mit dem Weglassen habe ich versucht, dann kommt die Fehlermeldung " erwartet ="
.Rows(lngRow).Replace(What:="Anmelden", Replacement:=Cells(lngRow, 1).Value, _
lookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False)
Gruß Werner
Anzeige
AW: Wenn nicht leer, ersetzen duch Spalte A
17.07.2016 22:16:34
Nepumuk
Hallo Werner,
in dem Fall musst du die Klammern um die Replace-Parameter weg lassen:
.Rows(lngRow).Replace What:="Anmelden", Replacement:=Cells(lngRow, 1).Value, _
lookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False

Gruß
Nepumuk
AW: Danke, wieder was gelernt. o.w.T.
17.07.2016 22:33:01
Werner

350 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige