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

Zellen einfügen

Zellen einfügen
14.02.2007 10:53:46
fritz
Hallo,
ich habe eine Tabelle mit Blattschutz.
Ich weiss aber wie man per Makro den Blattschutz entfernt, bzw. wieder aktiviert.
Ich suche aber ein Makro dass in der Tabelle1 ab der aktiven Zeile unterhalb 2 Zeilen einfügt, die Formatierung und die Formeln der aktiven Zelle (oberhalb übernimmt).
Diese Makro darf aber nicht ausgeführt werden, wenn in der aktiven vordersten Zelle (A...) der Name: Anfang oder Ende steht
(oberhalb Anfang bzw. Ende stehen wichtige Formeln die nicht überschrieben werden dürfen)
Beispieö: in A5 ist der Name "Anfang" vermerkt, in A15 "Ende", darum darf dieses Makro nur in den Zeilen A6:A14 ausgeführt werden.
Für eine Hilfestellung danke ich jetzt schon vielmals.
Fritz aus dem Glarnerland

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen einfügen
14.02.2007 14:00:55
fcs
Hallo Fritz,
sollte so funktionieren. Zeilen mit .Unprotect/.Protect ggf. aktivieren.

Sub ZweiZeilenEinfuegen()
' ZweiZeilenEinfuegen nach aktiver Zeile, Formate und Formeln kopieren
Dim wks As Worksheet, Zelle As Range, Zeile As Long, Anzahl As Integer
Set wks = ActiveSheet
Anzahl = 2  'Anzahl der einzufügendne Zeilen
Zeile = ActiveCell.Row
With wks
If .Cells(Zeile, 1).Value = "Anfang" Or .Cells(Zeile, 1).Value = "Ende" Then
MsgBox "Zeilen mit 'Ende' oder 'Anfang' in Spalte A dürfen nicht bearbeitet werden"
Else
Application.ScreenUpdating = False
'        .Unprotect
For i = 1 To Anzahl
.Rows(Zeile).Copy
.Cells(Zeile, 1).Insert shift:=xlDown
For Each Zelle In .Range(.Cells(Zeile + 1, 1), .Cells(Zeile + 1, .Columns.Count).End(xlToLeft))
If Not Zelle.HasFormula Then Zelle.ClearContents
Next
Next
'        .Protect
Application.ScreenUpdating = True
End If
End With
End Sub

Gruß
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige