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

Zeilen einfügen zwischen zwei benannten Bereichen

Zeilen einfügen zwischen zwei benannten Bereichen
04.01.2016 17:59:42
Vic
Hallo Excelprofis - ein gesundes und erfolgreiches neues Jahr wünsche ich zunächst.
Mein Problem: Ich möchte von Arbeitsblatt1 Spalte B1:E1 bis zur letzten Zeile nach Arbeitsblatt2, Spalte B6:E6 kopieren. Das Vertrackte dabei ist, dass ich in Arbeitsblatt2, Spalte B7:E7 bereits Daten habe, die erhalten bleiben müssen. B7 ist als ("Ausdruck_Fußzeile") benannt.
Mit

Sheets("2").Range("B6").Insert Shift:=xlDown
funktioniert es leider nicht. Der benannte Bereich wird gelegentlich und für mich nicht nachvollziehbar überschrieben. Damit funktioniert das löschen mit:
With wksZ
If Range("Ausdruck_Fußzeile").Row  7 Then
Range("B7:B" & Range("Ausdruck_Fußzeile").Row - 1).EntireRow.Delete
Rows("6:6").ClearContents
End If
End With
nicht mehr. Wie bekomme ich die Daten von Arbeitsblatt1 Spalte B1:E1 (bis zur letzten Zeile) nach Arbeitsblatt2, Spalte B7:E7, ohne dass der benannte Bereich überschrieben wird?
Gruß Vic

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zeilen einfügen zwischen 2 benannten Bereichen
04.01.2016 18:02:37
Vic
Nachtrag - sehe gerade, dass die Überschrift blöd formuliert ist... wenn es aber gehen würde, wäre B5 der benannte Bereich "Ausdruck_Kopfzeile" und zwischen diese beiden benannten Bereich müssten die Daten aus Arbeitsblatt1...

AW: Zeilen einfügen zwischen 2 benannten Bereichen
05.01.2016 09:53:03
hary
Moin
Probier mal ob es mit Currentregion passt. Bei mir sind alle Zellen B1:Exx belegt.
Sub eintragen()
Dim wksQ As Worksheet, wksZ As Worksheet
Dim zeilevon As Long, anzahl As Long
Set wksQ = Worksheets("Tabelle1") '--Blattname anpassen
Set wksZ = Worksheets("Tabelle2") '--Blattname anpassen
anzahl = wksQ.Cells(1, 2).CurrentRegion.Rows.Count
zeilevon = Range("Ausdruck_Kopfzeile").Row
wksZ.Rows(zeilevon + 1 & ":" & zeilevon + anzahl).Insert Shift:=xlDown
wksZ.Cells(zeilevon + 1, 2).Resize(anzahl, 4).Value = wksQ.Cells(1, 2).Resize(anzahl, 4) _
.Value
End Sub
Sub ZeilenLoeschen()
Dim wksZ As Worksheet
Dim zeilevon As Long, zeilebis As Long
Set wksZ = Worksheets("Tabelle2")  '--Blattname anpassen
If Range("Ausdruck_Fußzeile").Row > 7 Then
zeilevon = Range("Ausdruck_Kopfzeile").Row + 1
zeilebis = Range("Ausdruck_Fußzeile").Row - 1
wksZ.Rows(zeilevon & ":" & zeilebis).Delete
End If
End Sub

gruss hary

Anzeige
AW: Zeilen einfügen zwischen 2 benannten Bereichen
05.01.2016 17:31:56
Vic
Danke hary,
habe nun diese Variante zusammengestückelt:
Ausdruck_zuruecksetzen()
Dim Start As Long, Ende As Long, AnzZeilen As Long
Start = Sheets("Ausdruck").Range("Start").Row + 1
Ende = Sheets("Ausdruck").Range("Ende").Row - 1
Application.ScreenUpdating = False
For AnzZeilen = Ende To Start Step -1
With Sheets("Ausdruck")
.Rows(AnzZeilen).Delete
End With
Next
Application.ScreenUpdating = True
End Sub

Sub Ausdruck_fuellen()
Dim x As Long, i As Long
x = Sheets("Hilfstabelle_Ausdruck").Cells(Rows.Count, 2).End(xlUp).Row
Application.ScreenUpdating = False
For i = 1 To x
Sheets("Ausdruck").Range("Ende").Insert Shift:=xlDown
Sheets("Ausdruck").Cells(4 + i, 2).Value = Sheets("Hilfstabelle_Ausdruck").Cells(i, 1). _
Value
Sheets("Ausdruck").Cells(4 + i, 3).Value = Sheets("Hilfstabelle_Ausdruck").Cells(i, 2). _
Value
Sheets("Ausdruck").Cells(4 + i, 4).Value = Sheets("Hilfstabelle_Ausdruck").Cells(i, 3). _
Value
Sheets("Ausdruck").Cells(4 + i, 5).Value = Sheets("Hilfstabelle_Ausdruck").Cells(i, 4). _
Value
Sheets("Ausdruck").Cells(4 + i, 6).Value = Sheets("Hilfstabelle_Ausdruck").Cells(i, 5). _
Value
Sheets("Ausdruck").Cells(4 + i, 6).RowHeight = 17
Next i
Sheets("Ausdruck").Range("Hinweis").RowHeight = 55
ResetComments
Application.ScreenUpdating = True
End Sub
Ist zwar sehr langsam die Zellen einzeln abzuklappern, funktioniert aber erst mal.
Dein Code in einer Testmappe auch - aber leider nicht in meiner...
Vic

Anzeige
AW: Zeilen einfügen zwischen 2 benannten Bereichen
06.01.2016 06:31:49
hary
Moin Vic
"Dein Code in einer Testmappe auch - aber leider nicht in meiner..."
Das liegt daran, dass ich deinen Mappen-/Tabellenaufbau nicht sehe!! ;-)
Lad mal eine Bsp.-Mappe hoch. Dann bekommt man es bestimmt hin.
gruss hary

AW: Versuch2
06.01.2016 07:31:49
hary
Moin nochmal
Hab mal Gedanklich nachgbaut. Aber wo kommt ploetzlich der benannte Bereich "Start" her?
Sub eintragen()
Dim wksQ As Worksheet, wksZ As Worksheet
Dim zeilevon As Long, anzahl As Long
Set wksQ = Worksheets("Hilfstabelle_Ausdruck") '--Blattname anpassen
Set wksZ = Worksheets("Ausdruck") '--Blattname anpassen
anzahl = wksQ.Cells(Rows.Count, 2).End(xlUp).Row
zeilevon = Range("Hinweis").Row
wksZ.Rows(zeilevon + 1 & ":" & zeilevon + anzahl).Insert Shift:=xlDown
wksZ.Cells(zeilevon + 1, 2).Resize(anzahl, 5).Value = wksQ.Cells(1, 1).Resize(anzahl, 5) _
.Value
wksZ.Cells(zeilevon + 1, 2).Resize(anzahl, 5).RowHeight = 17
Range("Hinweis").RowHeight = 55
End Sub
Sub ZeilenLoeschen()
Dim wksZ As Worksheet
Dim zeilevon As Long, zeilebis As Long
Set wksZ = Worksheets("Ausdruck")  '--Blattname anpassen
zeilevon = Range("Hinweis").Row + 1
zeilebis = Range("Ende").Row - 1
If zeilebis - zeilevon > 1 Then
wksZ.Rows(zeilevon & ":" & zeilebis).Delete
End If
End Sub

gruss hary
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige