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.

Makro: Zeile und Spalte einfügen, neue Zellen "verankern"
#1
Liebe Excel-Makro-Experten
 
Ich habe leider für keine Lösung für eine gewünschte Funktion gefunden, doch ich kann mir sehr gut vorstellen, dass es hierfür einen geeigneten Lösungsansatz gibt…
 
Wenn ich den Cursor z.B. in der Zeile 2 (z.B. A2) platziere, soll das Makro Folgendes ausführen:
 
1.   Eine Zeile unterhalb einfügen
2.   Eine Spalte einfügen (z.B. Spalte F)
3.   Der Wert, der in die neue Zeile (Zelle A3) eingefügt wird, sollte in der Zelle F9 erscheinen
4.   Der Wert der Zelle B3 in den Zellen F10 bis F20
5.   Soweit kein Problem, nun…
6.   Neue Zeile einfügen (Cursor auf Feld A6); der Wert der neuen Zelle A7 sollte nun in der neu eingefügten Spalte G in der Zelle G10 erscheinen bzw. der Wert der Zelle B7 in den Zellen G11 bis G21 (da die Tabelle bzw. Feld durch die eingefügte Zeile eine Zeile nach unten gerutscht ist).
7.   etc.
 
Wer hätte hierzu einen Tipp, wie diesbezüglich vorzugehen ist.
 
Viele Grüsse
Adrian
Antwortento top
#2
Hallo,

also wenn ichs richtig verstanden habe, dann lässt sich die Lösung recht leicht "ergoogeln":

https://www.excel-inside.de/vba-loesunge...ausfuehren

Code sollte bspw. in ein Tabellenblatt.

somit ergibt sich für deine erste Frage folgender Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A2:E2")) Is Nothing Then                      'Hier ist der betreffende Bereich Zelle A2 bis E2, kann man aber beliebig anpassen
Rows("3:3").Select                                                                                             'Ab hier bis End If steht der Code der ausgeführt werden soll wenn die Bedingung erfüllt ist
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If
End Sub


für die zweite Frage:

ersetze den auszuführenden Teil des Codes durch...

Columns("F:F").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

und so weiter. ich glaube dass du das meiste per Makrorekorder aufnehmen kannst (hab ich auch gemacht)

hoffe es hilft weiter.

Gruß
Antwortento top


Gehe zu:


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