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

Bereich kopieren, daneben Wert einfügen

Bereich kopieren, daneben Wert einfügen
03.08.2021 10:22:24
Samy
Hallo zusammen,
Ich kopieren einen Bereich mittels "letzte beschrieben Zeile ermitteln" von Tabelle1 auf Tabelle2 ab spalte B angefügt an letzte beschrieben Zeile.
Das klappt.
Gerne würde ich aber nun in der Tabelle2 in Spalte A gleichzeitig immer denn gleichen Wert (Verwaltung) daneben miteinfügen.
Wie kann ich das am besten umsetzten?
hier den bisherige Code für das kopieren:

Sub copy()
Dim letztezeile1, letzteSpalte As Long
Dim WS1, WS2 As Worksheet
Set WS1 = Sheets("Tabelle1")
Set WS2 = Sheets("Tabelle2")
With WS1
letztezeile1 = Cells(.Rows.Count, 1).End(xlUp).Row
letzteSpalte = Cells(1, Columns.Count).End(xlToLeft).Column
End With
WS1.Range("A5:A" & letztezeile1, WS1.Cells(letztezeile1, letzteSpalte)).Copy
WS2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
Danke und LG
Samy

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich kopieren, daneben Wert einfügen
03.08.2021 10:50:08
Werner
Hallo,
das könntest du mit Resize erledigen.

Option Explicit
Sub copy()
Dim letzteZeile1, letzteSpalte As Long
Dim WS1 As Worksheet, WS2 As Worksheet
Dim letzteZeile1 As Long, letzteSpalte As Long
Set WS1 = Sheets("Tabelle1")
Set WS2 = Sheets("Tabelle2")
With WS1
letzteZeile1 = .Cells(.Rows.Count, 1).End(xlUp).Row
letzteSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Column
.Range("A5:A" & letzteZeile1, .Cells(letzteZeile1, letzteSpalte)).copy
WS2.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
WS2.Range("A2").Resize(letzteZeile1 - 4) = "Verwaltung"
End With
Application.CutCopyMode = False
End Sub
Anmerkungen:
Du hast nicht alle Variablen deklariert - schlecht.
So: Dim WS1, WS2 As Worksheet
ist nur die Variable WS2 ein Worksheetobjekt, die Variable WS1 ist vom Typ Variant
Also so: Dim WS1 As Worksheet, WS2 As Worksheet
Verwende Option Explicit oberhalb der Prozedur, damit wirst du angemeckert, wenn du Variablen nicht deklariert hast.
Gruß Werner
Anzeige
AW: Bereich kopieren, daneben Wert einfügen
03.08.2021 11:25:58
Samy
Herzlichen Dank Werner, das klappt wunderbar.
Danke für deine hilfreiche Anmerkung!
Lg Samy
Gerne u. Danke für die Rückmeldung. Und....
03.08.2021 11:32:27
Werner
Hallo,
...noch was vergessen.
Hier:

With WS1
letztezeile1 = Cells(.Rows.Count, 1).End(xlUp).Row
letzteSpalte = Cells(1, Columns.Count).End(xlToLeft).Column
End With
benutzt du With - End With. Dann mußt du aber zwingend vor jedem Range-Objekt (Range, Cells, Rows...) einen Punkt setzen. Denn nur dann wird auf das im With angegebene Blatt referenziert.
Also so:

With WS1
letztezeile1 = .Cells(.Rows.Count, 1).End(xlUp).Row
letzteSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Column
End With
Gruß Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige