Makro / VBA zum Hinzufügen von Text zur Spalte, wenn in einer anderen Zelle Text vorhanden ist

426
Dan

Ich habe einen Bericht, den ich herunterlade. Es hat unterschiedliche Längen der Spalte A. Ich suche eine VBA / Makro zu erstellen, die einen bestimmten Text in M2 gesetzt werden, wenn es jede in den entsprechenden Zellendaten vorhanden. Ich möchte nicht, dass Daten unbegrenzt in jede Zelle in Spalte M eingefügt werden und dass der Text nur dann eingefügt wird, wenn sich in der entsprechenden A-Zelle etwas befindet.

Ich habe es versucht, aber es funktioniert nicht:

Private Sub Worksheet_Change() If Worksheets("Sheet1").Range("A2").Value <> "" Then Worksheets("Sheet1").Range("M2").Value = "Testing" End If End Sub 

Kann jemand helfen?

0
Was bedeutet "es funktioniert nicht"? Bekommen Sie nicht die Ergebnisse, nach denen Sie suchen? Sind die Ergebnisse falsch? Bitte seien Sie so genau wie möglich, um gute Hilfe zu erhalten. FreeMan vor 5 Jahren 1

2 Antworten auf die Frage

0
scenography

Der erste Code, den Sie ausprobiert haben, prüft eine Zelle (A2) und füllt eine Zelle (M2). Wenn Sie mehr Zellen überprüfen möchten, fügen Sie eine "For Each" -Schleife in das Makro ein. Ein Beispiel finden Sie unter Wiederholen von Aufgaben mit Ihrem VBA-Code durch Schleifen

Wenn Sie kein Makro verwenden möchten, können Sie einen Filter verwenden, um nur Zeilen mit Werten in Spalte A anzuzeigen.

0
Christofer Weber

Wenn Sie mit "korrespondierender A-Zelle" wirklich A2 meinen und der Code korrekt ist, beim Ausführen jedoch Fehler auslöst, versuchen Sie Folgendes:

Private Sub Worksheet_Change(ByVal Target As Range) If Range("A2").Value <> "" Then Range("M2").Value = "Testing" End If End Sub 

Ich gehe davon aus, dass Sie diesen Code in das Arbeitsblatt einfügen, in dem er ausgeführt werden soll.

Dadurch wird bei jedem Blattwechsel "Testing" in "M2" gedruckt, wenn in "A2" etwas vorhanden ist.

Wenn Sie möchten, dass das Teil automatisch entfernt wird, können Sie es hinzufügen

Else Range("M2").Value = "" 

im If.