variablen bereich kopieren
Verfasst: Mi 30. Okt 2019, 10:53
Hallo Forum,
ich möchte gerne einen variablen bereich per makro kopieren.
ich schaffe es nicht den Code zu schreiben, dass es funktioniert. Der folgenden Code funktioniert für den Bereich ("A1:F25"). Hat jemand eine Idee wie man das machen kann?
Meine 2. Idee siehe unten funktioniert nicht. Es wird nichts kopiert und es gibt keine Fehlermeldung.
funktioniert:
funktioniert nicht:
ich möchte gerne einen variablen bereich per makro kopieren.
ich schaffe es nicht den Code zu schreiben, dass es funktioniert. Der folgenden Code funktioniert für den Bereich ("A1:F25"). Hat jemand eine Idee wie man das machen kann?
Meine 2. Idee siehe unten funktioniert nicht. Es wird nichts kopiert und es gibt keine Fehlermeldung.
funktioniert:
Code: Alles auswählen
REM ***** BASIC *****
Sub CopySpreadsheetRange
Dim oSheet1 As Variant, oSheet2 As Variant
Dim oRangeOrg As Variant, oCellCpy As Variant, lastRow As Long
oSheet1 = ThisComponent.Sheets.getByName("alle Termine")
oSheet2 = ThisComponent.Sheets.getByName("test")
oRangeOrg = oSheet1.getCellRangeByName("A1:F25").RangeAddress
lastRow = GetLastUsedRow(oSheet2) + 3
oCellCpy = oSheet2.getCellRangeByName("A" & lastRow).CellAddress
oSheet1.CopyRange(oCellCpy, oRangeOrg)
End Sub
Function GetLastUsedRow(oSheet) As Long
Dim oCursor As Variant
oCursor = oSheet.createCursor
oCursor.GotoEndOfUsedArea(True)
GetLastUsedRow = oCursor.RangeAddress.EndRow
End Function
Code: Alles auswählen
REM ***** BASIC *****
Sub CopySpreadsheetRange
Dim oSheet1 As Variant, oSheet2 As Variant
Dim oRangeOrg As Variant, oCellCpy As Variant, lastRow As Long, lastRow2 As Long
oSheet1 = ThisComponent.Sheets.getByName("alle Termine")
oSheet2 = ThisComponent.Sheets.getByName("test")
lastRow = GetLastUsedRow(oSheet1) + 3
oRangeOrg = oSheet1.getCellRangeByName("A" & lastRow).RangeAddress
lastRow2 = GetLastUsedRow(oSheet2) + 3
oCellCpy = oSheet2.getCellRangeByName("A" & lastRow2).CellAddress
oSheet1.CopyRange(oCellCpy, oRangeOrg)
End Sub
Function GetLastUsedRow(oSheet) As Long
Dim oCursor As Variant
oCursor = oSheet.createCursor
oCursor.GotoEndOfUsedArea(True)
GetLastUsedRow = oCursor.RangeAddress.EndRow
End Function