Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Problem, Zeile einfügen Formel übernehmen

VBA Problem, Zeile einfügen Formel übernehmen
19.03.2007 15:05:11
Peter
Hallo alle zusammen,
ich habe folgendes Problem:
Meine Tabelle hat mehrere Spalten und Zeilen.
In einigen Spalten stehen Formeln in anderen nur Werte und wieder andere sind leer.
Häufig muß ich eine neue Zeile einfügen.
Die Zellen der neuen Zeile sind dann leer.
In jeder Spalte in dessen Zellen Formeln sind muß ich nun, durch anklicken und herunterziehen von einer Zelle über der neuen leeren Zelle, die Formel neu eintragen.
Ich brauche einen Code der nach dem ich eine neue Zeile eingefügt habe in jede Zelle die Formeln automatisch einträgt.
Vorher muß er aber kontrollieren ob in der jeweiligen Spalte, Formeln stehen.
Wenn dort Werte oder sind oder die Zellen der Spalte leer sind soll keine Formel eingetragen werden.
Damit es bei der kontrolle der Spalten keine Schwierigkeiten gibt (weil in den Köpfen ja z.B. Überschriften stehen) würde es ausreichen wenn immer eine Zelle über der neuen Zelle kontrolliert wird.
Ich habe versucht mit dem Recorder herauszubekommen wie man so etwas machen könnte.
Hier mein kläglicher Ansatz:

Sub Test1()
Rows("8:8").Select
Selection.Insert Shift:=xlDown
End Sub
Ich hoffe das jemand helfen kann?
Grüße aus Berlin

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ergänzung
19.03.2007 18:27:00
Peter
Hallo,
ich habe inzwischen noch einmal recherchiert.
Einen guten Lösungsansatz habe ich gefunden.
Leider für mich nicht aureichend. (meine VBA-Kenntnisse sind zu schlecht um abzuwandeln)

Sub test1()
Dim Zeile1 As Long, Zeile2 As Long
Zeile1 = Selection.Row
Zeile2 = Selection.Row + Selection.Rows.Count - 1
Rows(Zeile1 & ":" & Zeile2).Insert
Rows(1).Copy Rows(Zeile1 & ":" & Zeile2)
End Sub
Mit diesem Code kann ich eine Zeile an gewüschter Stelle einfügen und die Formeln aus Zeile 1 übernehmen. Ich kann aber nicht einfach immer die selben Formeln aus Zeile 1 übernehmen.
Ich muß mit AutoFill arbeiten, da je nachdem ich in welcher Zeile ich mich befinden die Bezüge anders sind.

Sub test2()
Dim Zeile1 As Long, Zeile2 As Long
Zeile1 = Selection.Row
Zeile2 = Selection.Row + Selection.Rows.Count - 1
Rows(1).AutoFill Destination:=Rows(Zeile1 & ":" & Zeile2), Type:=xlFillDefault
'Rows(Zeile1 & ":" & Zeile2).Insert
'Rows(1).Copy Rows(Zeile1 & ":" & Zeile2)
End Sub

Hier habe ich versucht mit AutoFill zu arbeiten.
Funktioniert nätürlich nicht.
Für das Problem, daß nur die Formeln automatisch übernommen werden und keine Werte habe ich noch keine Lösungsansätze gefunden.
Kann mir jetzt vieleicht jemand weiterhelfen?
Grüße aus Berlin
Anzeige
AW: VBA Problem, Zeile einfügen Formel übernehmen
20.03.2007 15:08:00
mpb
Hallo Peter,
Cursor in die Zeile setzen, wo eingefügt werden soll, und dann folgendes Makro laufen lassen:

Sub Formeln_uebernehmen()
ActiveCell.EntireRow.Insert
For Each cell In Rows(ActiveCell.Row - 1).SpecialCells(xlCellTypeFormulas, 23)
cell.Copy Destination:=cell.Offset(1, 0)
Next
End Sub
Gruß
Martin
funktioniert
20.03.2007 17:14:12
Peter
Hallo Martin
funktioniert spitze.
Danke

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige