Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
624to628
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
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formeln kopieren durch Makro?? Dringend :-)

Formeln kopieren durch Makro? Dringend :-)
23.06.2005 10:17:28
Diana
Hallo,
ich komm leider alleine nicht weiter:
Folgender Sachverhalt:
- In einer sehr großen Datei, in welcher einige Zellen geschützt wurden, wurden ein Button eingefügt damit die User eine Zeile einfügen können.
(mit folgendem Makro)

Sub FreieZeileEinfügen()
ActiveSheet.Unprotect Password:="Passwort"
Selection.EntireRow.Insert
Selection.EntireRow.Locked = False
ActiveSheet.Protect Password:="Passwort"
End Sub

Nun sollen die Formeln die in der Datei enthalten sind einfach miteingfügt werden. Der User könnte aber überall diese Zeile einfügen. Somit komm ich alleine hier nicht weiter...
Jemand eine Idee wie man dies lösen könnte?
Herzlichen Dank
Diana

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

Betreff
Datum
Anwender
Anzeige
Weiß denn keiner eine Lösung..:-(
23.06.2005 10:44:31
Diana
bin für jeden Tip dankbar!
AW: Nunja
23.06.2005 11:19:11
Harald
Hi Diana,
dieser Code kopiert die letzte Zeile und fügt sie komplett mit Werten und Formel an der aktiven Zelle ein.

Sub Makro1()
i = ActiveCell.Row
n = Cells(Rows.Count, 1).End(xlUp).Row
Rows(n).Copy
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
Range("A" & i).Select
End Sub

Dieser fügt bei der aktiven Zelle eine Zeile ein und kopiert Formel der letzten Zeile hinein. Sollen die Formeln nicht aus der letzten Zeile kommen, sondern vielleicht aus der Zeile über der aktiven Zelle, dann n = i -1

Sub Makro2()
i = ActiveCell.Row
n = Cells(Rows.Count, 1).End(xlUp).Row
Rows(n).Copy
With ActiveCell
.EntireRow.Insert
.PasteSpecial xlPasteFormulas
End With
Application.CutCopyMode = False
Range("A" & i).Select
End Sub

Mehr krieg ich bei meinem Level nicht auf die Reihe ;-))...oder vielleicht noch die Sache mit autofill. Aber das sagt dir der Rekorder auch.
Gruß
Harald
Anzeige
AW: Nunja
23.06.2005 11:23:16
Diana
Hallo Harald,
danke für deine Hilfe.
Ist schon ähnlich wie das was ich suche.. wie muss der Code verändert werden, dass nicht die letzte Zeile kopiert wird, sondern die Zeile, die gerade über den eigens erstellten Button "Zeilen einfügen". Dort sollen auch die Formeln eingefügt werden..(und ohne Inhalt)
Danke
Diana
AW: Nunja
23.06.2005 11:51:12
Harald
Hi,
n = Cells(Rows.Count, 1).End(xlUp).Row
bringt dir die letzte Zeile der Spalte A
i = ActiveCell.Row
ist die Zeile der aktiven Zelle.
So wie ich deinen Code sehe, markiert der User die Stelle, an der eine Zeile eingefügt werden soll.
Wenn die Formeln der darüberliegenden Zeile übernommen werden sollen, gehts so.
Allerdings nimmt er dann auch die Werte mit.
i = ActiveCell.Row
n = i - 1
Alternativ könntest Du auch die Formelzellen der darüberliegenden Zeile markieren und runterziehen. Der Rekorder gibt sowas raus
Range("A6:C6").Select
Selection.AutoFill Destination:=Range("A6:C7"), Type:=xlFillDefault
mit den Platzhaltern wäre dass dann
Range("A" & n & ":C" & n).AutoFill Destination:=Range("A" & n & ":C" & i )
Viel Glück beim Basteln ;-))
Gruß
Harald
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige