Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
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

Beim Einfügen eine Zeile überspringen

Beim Einfügen eine Zeile überspringen
02.08.2021 21:42:46
Mich.l
Hallo,
ich habe eine Idee, bei der ich aber nicht weiß, ob sie wirklich umsetzbar ist.
Ich habe einen Tabelle mit 2 Spalten und möchte diese kopieren (STRG+C). Beim Einfügen soll nun aber immer eine Zeile dazwischen frei bleiben, also beginnend bei D19 und E19, D20 und E20 bleiben frei, dann wieder D21 und E21 usw,
Das soll funktionieren, obwohl die Originaltabelle durchgehend Werte hat. Ich habe mich bis jetzt damit beholfen, dass ich eine Hilfsmatrix eingefügt habe und dann mit Excel-Formeln auf diese Hilfsmatrix verwiesen habe, geht das aber auch ohne Hilfsmatrix, also über ein Makro beim Einfügen?
Alternativ könnte ich mir auch vorstellen, dass man in der Excel-Datei ein Makro aufruft, dieses fragt dann am Besten per Mausklick die erste Zelle in einer weiteren Excel-Datei ab und arbeitet dann alle Zellen nach unten ab, bis die erste leere Zelle erscheint.
Danke im Voraus für Euere Tipps und Hilfestellungen.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beim Einfügen eine Zeile überspringen
02.08.2021 22:09:09
Mich.l
Noch zur Info:
Zellen D19 und D20 sind verbunden, ebenso E19 und E20 u.s.w.
AW: Beim Einfügen eine Zeile überspringen
03.08.2021 06:30:12
ralf_b
Ich würde die Alternative umsetzen.
AW: Beim Einfügen eine Zeile überspringen
03.08.2021 09:03:32
Mich.l
Und wie? Ich habe hier leider auch keine Ahnung, wie man das programieren könnte.
AW: Beim Einfügen eine Zeile überspringen
03.08.2021 09:27:32
hary
Moin
Haben die Zellen die verbunden sind immer den gleichen Abstand? Also 18 Zellen.
gruss hary
AW: Beim Einfügen eine Zeile überspringen
03.08.2021 09:00:10
Mich.l
.
AW: Beim Einfügen eine Zeile überspringen
03.08.2021 15:25:12
GerdL
Moin M.,
als Ansatz.

Sub Unit()
Dim X As Variant, a As Long, b As Long
X = ActiveWindow.RangeSelection.CurrentRegion
For a = 1 To UBound(X)
Tabelle2.Cells(19 + b, 4) = X(a, 1)
Tabelle2.Cells(19 + b, 5) = X(a, 2)
b = b + 2
Next
End Sub
Gruß Gerd
Anzeige
AW: Beim Einfügen eine Zeile überspringen
04.08.2021 01:21:18
Mich.l
Vielen Dank für den Ansatz.
Ich habe mir jetzt diesen Code zusammen gebastelt (so ganz funktioniert es noch nicht - es kommen immer noch Fehlermeldungen). Die Zellen werden nun doch aus der Zwischenablage übernommen:

Sub Unit()
Dim LastActive As String
LastActive = ActiveSheet.Name
Sheets(LastActive).Unprotect
Application.ScreenUpdating = False
Sheets.Add
ActiveSheet.Paste
With ActiveSheet
.Name = "XXX"
.Move Before:=Sheets(1)
End With
Cells(1, 1).Select
Dim X As Variant, a As Long, b As Long
X = ActiveWindow.RangeSelection.CurrentRegion
For a = 1 To UBound(X)
Sheets(LastActive).Cells(19 + b, 4) = X(a, 1)
Sheets(LastActive).Cells(19 + b, 5) = X(a, 2)
b = b + 2
Next
Application.DisplayAlerts = False
Sheets("XXX").Delete
Application.DisplayAlerts = True
Sheets(LastActive).Activate
Sheets(LastActive).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True, AllowFormattingRows:=True, AllowInsertingHyperlinks:=True
Sheets(LastActive).EnableSelection = xlNoRestrictions
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Beim Einfügen eine Zeile überspringen
04.08.2021 15:25:57
Mich.l
Bei meinem Makro hängt es immer beim ersten Mal bei ActiveSheet.Paste da kommt eine Fehlermeldung. Beim 2. Mal klappt es dann.
Woran könnte das liegen? Oder soll man das besser ganz umschreiben?
AW: Beim Einfügen eine Zeile überspringen
04.08.2021 15:49:48
Yal
Hallo Mich.l,
einen Paste ohne vorangestellten Copy kann nur unvollständig sein. Mach den Copy-Paste eines Blattes unter laufenden Makro-Rekorder und schaue dir den Code.
Insert von Zeilen macht man "von unten hoch":

Sub ZwischenZeile_einfügen(BlattName As String)
Dim r
With Worksheets(BlattName)
For r = .Range("A99999").End(xlUp).Row To 2 Step -1
.Rows(r).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next
End With
End Sub
Sub Test()
ZwischenZeile_einfügen "Tabelle1"
End Sub
VG
Yal
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige