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

Übertragung eines variablen Zelleninhalte mittels Makro

Forumthread: Übertragung eines variablen Zelleninhalte mittels Makro

Übertragung eines variablen Zelleninhalte mittels Makro
06.07.2025 23:08:37
Soham235
Hallo in die Runde!

Ich möchte auf meinem Hauptblatt vier Zelleninhalte zu einem String vereinen und am Hauptblatt über Makro im Feld O22 anzeigen lassen. Der String würde sich wie folgt zusammensetzen:
E2&"-"&'Tabelle2'!O29&" "&D3&" "&D2

Sollte eine der vier Zellen leer sein, soll im Feld O22 auch nichts angezeigt werden.
Das Feld O22 sollte sich nach Eingabe der vier Felder sofort aktualisieren. Es sollte sich auch sofort aktualisieren, sobald eines der vier Felder geändert wird.

Das Feld O22 soll auch überschrieben werden können. Sobald dies geschieht, sollte das Makro nicht mehr den String in das Feld O22 übertragen, sondern das Überschriebene dort belassen, es sei denn, der Eingebende löscht das Feld wieder.

Ich hoffe, ich habe mich nicht zu kompliziert ausgedrückt.
Würde mich jedenfalls über Lösungsvorschläge freuen.

PS: Ich könnte das Ganze auch damit lösen, das Ergebnis der Formel ohne Makro in das Ausfüllfeld mittels Verseis zu übertragen (O22=E2&"-"&'Tabelle2'!O29&" "&D3&" "&D2), da das Blatt aber geschützt ist und der Benutzer die Formel bzw. den Verweis beim Überschreiben nicht löschen sollte, wäre ein Makro ideal...
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übertragung eines variablen Zelleninhalte mittels Makro
07.07.2025 08:43:24
schauan
Hallöchen,

das Problem bei Deinem Ansatz ist, dass das Makro für sich nicht so einfach feststellen kann, ob ein Zelleintrag in O22 vielleicht bei der letzten Sitzung vorgestern manuell oder durch ein Makro erfolgte. Man müsste z.B. beim Öffnen der Datei oder bei jeder Änderung den Inhalt der 4 + 1 Zellen irgendwo hinterlegen und eventuell damit abgleichen, wo eine Änderung erfolgt.

Ich würde es eventuell einfach so regeln, dass ich per Makro die Formel in der Zusammenfassung eintrage, wenn eine Änderung von O22 das Löschen des Inhaltes - also O22 = "" - ist.




Anzeige
AW: Übertragung eines variablen Zelleninhalte mittels Makro
07.07.2025 09:15:50
MCO
Moin!

Im Grunde ist es nicht so schwierig:
Wenn nicht von Hand in O22 was eingetragen wird, steht ne Formel drin, die 4 Inhalte abgreift.

Dies ins Modul der Tabelle1 eintragen:
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
If Target.AddressLocal(0, 0) = "O22" And Target = "" Then
Target.Formula2Local = "=WENN(ODER(E2="""";Tabelle2!O29="""";D3="""";D2="""");"""";E2&""-""&Tabelle2!O29&"" ""&D3&"" ""&D2)"
End If
Application.EnableEvents = True
End Sub


Gruß, MCO
Anzeige
AW: Übertragung eines variablen Zelleninhalte mittels Makro
07.07.2025 18:38:38
Soham235
Hi MCO,

die von dir vorgeschlagene Private Sub funktioniert leider nicht; es erscheint kein Wert in O22. Vielleicht liegt es aber daran, dass 3 Variablen mittels Dropdown-Liste festgelegt werden...

Im Grunde genommen hätte ich für mein Problem bereits die Lösung, siehe Beispieldatei:
https://www.herber.de/bbs/user/178031.xlsm
Sofern ich in dieser, in Zelle A4, den Wert direkt, also über Tastatur und Enter, eingebe, werden die zwei vom Makro bestimmten Folgezellen A1 und B1 automatisch ausgefüllt. Wird der Wert von A4 jedoch über Dropdown-Listen ermittelt, streikt mein Makro. Die Zellen A1 und A2 scheinen demnach nur zu ändern, wenn der Wert der Ausgangszelle mit Enter bestätigt wird...

Wie dem auch sei, wenn wir das Problem in meiner Beispieldatei lösen könnten, wäre auch mein ursprüngliches damit gelöst. Ich müsste mein Makro nur mehr in meine andere Mappe integrieren...
Anzeige
AW: Übertragung eines variablen Zelleninhalte mittels Makro
07.07.2025 20:19:40
schauan
Hallöchen,

ich hatte ja geschrieben
das Löschen des Inhaltes - also O22 = ""

Nix und Nix ist da zweierlei. In der Zelle kan eine Formel stehen, die als Ergebnis "" hat, oder eben wirklich nix, weil der Zellinhalt gelöscht wurde. Mein Ansatz wäre dann, mit einer simplen Formel ;-)

Private Sub Worksheet_Change(ByVal Target As Range)

With Range("$O$22")
If .Formula = "" Then .Formula = "=A1"
End With
End Sub


Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18