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

Einfügen mit Offset

Einfügen mit Offset
26.01.2021 14:53:49
Le
Hi zusammen,
ich versuche aus einer geschlossenen Excel alle Werte zu kopieren. Das klappt auch soweit, _
jedoch möchte ich in der Ziel Tabelle ein Offset von 5 Zeilen. Kann mir jemand helfen?

Private Sub CommandButton1_Click()
Dim anzahlzeilen As Integer, anzahlspalten As Integer
Dim Ziel As Worksheet, Quelle As Worksheet
Set Ziel = ActiveWorkbook.ActiveSheet
Set Quelle = Workbooks.Open(Filename:="TEST.xlsx").Worksheets(1) 'Quelldatei: Anpassen wenn  _
Ablageort geändert wird
If Quelle Is Nothing Then _
MsgBox ("Fehlerhafter Quellpfad, bitte abändern")
anzahlzeilen = Quelle.Cells(Rows.Count, 1).End(xlUp).Row
anzahlspalten = Quelle.UsedRange.Columns.Count
'MsgBox anzahlzeilen
'MsgBox anzahlspalten
Quelle.Cells.Copy Destination:=Ziel.Cells
'Quelle.Cells.Copy Destination:=Ziel.Cells.Offset(4, 0)
'Quelle.Parent.Close
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Einfügen mit Offset
26.01.2021 15:05:28
Werner
Hallo,
so?
Private Sub CommandButton1_Click()
Dim loLetzte As Long, Ziel As Worksheet, Quelle As Worksheet
Application.ScreenUpdating = False
Set Ziel = ThisWorkbook.ActiveSheet
Set Quelle = Workbooks.Open(Filename:="TEST.xlsx").Worksheets(1)
If Not Quelle Is Nothing Then
With Ziel
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Offset(5).Row
If .Cells(1, "A") = "" Then loLetzte = 1
Quelle.UsedRange.Copy .Cells(loLetzte, "A")
Quelle.Close False
End With
Else
MsgBox "Fehlerhafter Quellpfad, bitte abändern"
End If
Set Ziel = Nothing: Set Quelle = Nothing
End Sub
Gruß Werner
Anzeige
AW: Einfügen mit Offset
26.01.2021 15:27:40
Le
Perfekt danke!
Das hier kannte ich nicht: .Cells(.Rows.Count, "A")
So geht es sogar Ohne Offset :)
Gruß
AW: Einfügen mit Offset
26.01.2021 15:33:42
Werner
Hallo,
nö, ganz ohne Offset (und du wolltest doch einen haben) geht es nicht.
Beispiel:
Makro wird erstmals ausgeführt, Zielblatt ist komplett leer.
.Cells(.Rows.Count,"A").End(xlUp).Row ergibt 1 und somit werden die Daten in Zeile 1 kopiert.
Makro wird erneut ausgeführt, im Zielblatt sind aber bereits Daten in Spalte A bis zur Zeile 10 vorhanden.
Jetzt ermittelt die gleiche Codezeile die letzte belegte Zelle in Spalte A, und das ist die Zeile 10.
Somit wird (ohne Offset) in die Zeile 10 kopiert, die damit überschrieben wird.
Gruß Werner
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige