Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro starten durch Zeile einfügen

Makro starten durch Zeile einfügen
Jürgen
Um das arbeiten in einem Excel-Workbook zu vereinfachen möchte ich mir das entsprechende Markieren der Blätter ersparen um auf mehreren Blättern gleichzeitig eine Zeile einzufügen. Auch das anschließende kopieren der Einträge in die neue Zeile möchte ich automatisieren. Was mir zu meinem Glück jedoch fehlt ist die Startbedingung, welche ein entsprechendes Makro auslöst. Ich dachte da an so was wie: „sobald eine Zeile im Arbeitsblatt 1 eingefügt wird, Ermittle die Zeilennummer und füge diese auch in den Blätter 2 und 3 ein“. Wie gesagt, mir geht es eigentlich nur darum den Klickaufwand zu reduzieren und nicht immer vorher die einzelnen Blätter selectieren und wieder deselectieren zu müssen.
Hat jemand eine Idee. Mit Worksheet_Change oder so?

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

Betreff
Benutzer
Anzeige
AW: Makro starten durch Zeile einfügen
UweD
Hallo
Meinst du wirklich
- Zeile einfügen (also eine Neue Zeile erzeugen)
- oder eine bestehende Zeile mit Daten ausfüllen?
Bei a) unterhalb eines bestehenden Datenbereichs, oberhalb...?
Gruß UweD
(Rückmeldung wäre schön)
AW: Makro starten durch Zeile einfügen
ANdreas
Hallo Jürgen,
man kann in einem gewissen Grad so etwas umsetzen, auch wenn es nicht so schön ist:

Private Sub Worksheet_Change(ByVal Target As Range)
' Prüft ob eine Zeile eingefügt wurde
Dim c As Range, i&
' Änderung bei der ganze Zeile betroffen ist?
If Target.Cells.Count = 256 And Target.Rows.Count = 1 Then
On Error GoTo ErrorHandler
Set c = Target.Offset(1, 0)
i = c.Row ' Zeile unterhalb merken
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Undo ' letzte Aktion rückgängig
If c.Row < i Then i = 1 Else i = 0 ' Zeile verschoben?
Application.Repeat ' Aktion wiederholen
If i = 1 Then MsgBox "Eine Zeile eingefügt" ' hier weiterer Code...
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
Exit Sub
ErrorHandler:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Hoffe das hilft Dir weiter,
Andreas
Anzeige
AW: Makro starten durch Zeile einfügen
Erich
Hallo Jürgen,
noch ein Ansatz zum Ausprobieren:
https://www.herber.de/bbs/user/35642.xls
Das Makro wird über die Änderung der Zahl belegter Zeilen in Tab1 gesteuert.
(Die Zahl wird in Workbook_Open vorbelegt.)
Soll auch beim Löschen oder Verschieben von Zeilen etwas passieren?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Makro starten durch Zeile einfügen
Jürgen
Zunächst mal vielen dank für die schnellen Antworten.
Dazu ergänzend: Es geht mir bei der Frage darum, wenn eine Zeile in Tabelle 1 neu erzeugt wird (rechte Maustaste "Zeile einfügen"), soll in Tabelle 2 etc. diese ebenfalls erzeugt und durch einen copy-Befehl aus der darüberliegenen Zeile zum Teil ausgefüllt werden. Hintergrund ist der, dass ich identische Tabellen auf mehreren Seiten haben möchte, jedoch z.B. ab der 3ten Spalte sich die Eintragungen unterscheiden. Also Tabelle1 Spate1 und 2 sind gleich Tabelle2 Spalte 1 und 2. Ab spalte 3 jedoch habe ich verschiende Einträge. So dient Tabelle 1 als Arbeitsliste mit Zahlendaten, Tabelle 2 als Volltextliste mit Beschreibungen, Tabelle 3 ist mit Übersetzungen versehen....
Ich muss die bisher gegebenen Anregungen noch mal genauer betrachten und dass kann bei mir noch einen Moment dauern. Vielleicht klappts ja schon. Nochmals vielen Dank soweit.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige