Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
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
Inhaltsverzeichnis

Zeile einfügen mit Makro

Zeile einfügen mit Makro
13.04.2016 09:01:46
Christian
Hallo,
ich nutze folgenden Code zum Einfügen einer Zeile in einem Tabellenblatt.

Sub Zeilen_einfügen()
Application.ScreenUpdating = False
Selection.EntireRow.Insert
With Selection.EntireRow
.Offset(-1, 0).Resize(1).Copy
.PasteSpecial Paste:=xlPasteFormulas
End With
Application.ScreenUpdating = True
End Sub
Ziel ist es, dass der Benutzer eine Zelle in der Tabelle selektiert und mit einem Button das Makro startet. Nun soll eine Zeile über der selektierten Zelle eingefügt werden. Diese Zeile soll eine Kopie der Zeile mit der selektierten Zelle sein. (welche Zelle in der Zeile selektiert wird soll dabei egal sein.
Der Code funktioniert auch und macht was er grundsätzlich soll.
Nun würde ich den Code gerne um folgende Punkte erweitern:
- wird eine Zelle in einer Zeile - wird eine Zelle außerhalb des formatierten Tabllenbereichs gewählt (Spalte A soll hier als Bezug dienen --> lastrow = .Cells(Rows.Count, 1).End(xlUp).Row), darf der Code auch nicht ausgeführt werden, sondern es soll auch hier ein Hinweistext kommen: " außerhalb des gültigen Bereichs"
Kann mir hierbei jemand helfen?
Vielen lieben Dank
und einen sonnigen Tag wünsche ich euch.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile einfügen mit Makro
13.04.2016 09:10:48
Fennek
Hallo,
so?

If selection.row 
Mfg
[ungeprüft]

AW: Zeile einfügen mit Makro
13.04.2016 10:20:42
Werner
Hallo,
so?
Sub Zeile_einfügen()
Application.ScreenUpdating = False
If Selection.Row  Sheets("DeineTabelle").Cells(Rows.Count, 1).End(xlUp).Row Then MsgBox " _
falscher Bereich" :Exit Sub
Selection.EntireRow.Insert
With Selection.EntireRow
.Offset(-1, 0).Resize(1).Copy
.PasteSpecial Paste:=xlPasteFormulas
End With
Application.ScreenUpdating = True
End Sub
Gruß Werner

AW: Zeile einfügen mit Makro
13.04.2016 11:44:08
Christian
Hallo Zusammen,
Danke für die Tipps. Ich hab es jetzt etwas abgeändert und so umgesetzt:
Sub Zeilen_einfügen()
With ActiveSheet
lastRow = .Cells(Rows.Count, 1).End(xlUp).Row - 1
End With
If Selection.Row  lastRow Then MsgBox "Die gewählte Zelle liegt außerhalb des gültigen  _
Tabellenbereichs": Exit Sub
Application.ScreenUpdating = False
ActiveCell.Offset(1, 0).Select
ActiveCell.EntireRow.Insert
With Selection.EntireRow
.Offset(-1, 0).Resize(1).Copy
.PasteSpecial Paste:=xlPasteFormulas
End With
Application.ScreenUpdating = True
End Sub
Vielen Dank für die Hilfe.
Mit diesem Teil kopiere ich die Formeln in der selektierten Zeile, das klappt auch.

.Offset(-1, 0).Resize(1).Copy
.PasteSpecial Paste:=xlPasteFormulas
jedoch soll er nur die Formeln in Spalte 3-5 und 7-9 kopieren. Alle anderen sollen leer bleiben.
Wie stelle ich das an?
Außerdem ist nach dem einfügen die kopierte Zeile ausgewählt (also mit gestrichelter grüner Linie). Ich hätte gerne, dass wieder die ursprünglich selektierte Zelle aktivist und nichts weiter ausgewählt oder markiert.
Vielen lieben Dank für eure Tipps!!!

Anzeige
AW: Zeile einfügen mit Makro
13.04.2016 12:49:50
Rudi
Hallo,
Sub Zeilen_einfuegen()
Dim LastRow As Long, AktRow As Long
Dim rAkt As Range
Set rAkt = ActiveCell
AktRow = rAkt.Row
LastRow = Cells(Rows.Count, 1).End(xlUp).Row - 1
If AktRow  LastRow Then
MsgBox "Die gewählte Zelle liegt außerhalb des gültigen Tabellenbereichs "
Exit Sub
End If
Application.ScreenUpdating = False
Rows(AktRow + 1).Insert
Cells(AktRow, 3).Resize(, 3).Copy
Cells(AktRow + 1, 3).PasteSpecial xlPasteFormulas
Cells(AktRow, 7).Resize(, 3).Copy
Cells(AktRow + 1, 7).PasteSpecial xlPasteFormulas
Application.CutCopyMode = False
rAkt.Activate
End Sub
Gruß
Rudi

Anzeige
AW: Zeile einfügen mit Makro
13.04.2016 17:06:46
Christian
Hallo Rudi,
danke, das war genau was ich gebraucht habe.
Klappt wunderbar :)
Ich freu mich immer riesig, wenn ich durch euch was lerne im Bereich VBA.
Echt eine tolle Community hier!!!

AW: Zeile einfügen mit Makro
13.04.2016 11:46:05
Christian
Hallo Vielen Dank,
das funktioniert :)

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige