Hallo Teresa!
Da ist mir ein Fehler unterlaufen. Ich habe nach dem Testen versehentlich einen Befehl gelöscht, der für den Ablauf notwendig ist.
Allerdings habe ich auch Probleme mit deiner Datei, weil die Tabellenblätter mit einem Code geschützt sind. Daher kann ich mit dem Makro weder kopieren noch löschen. Ich müsste in das Makro noch die Aufhebung des Schutzes und und neu schützen einstellen.
Ich habe auch noch eine Frage zum Tabellenblatt CFD2010. Hier sind bereits Zeilen belegt. Ich habe so programmiert, dass der Übertrag in die nächste freie Zeile kommt. Das funktioniert natürlich nicht, wenn die Daten in bereits ausgefüllten Zeilen kommen sollen. Sehe ich das so richtig.
Ich werde deine Datei mal in eine neue Calc-Datei rüberkopieren und mein Makro anpassen.
Hier vorerst der berichtigte Code:
Code: Alles auswählen
Sub Uebertragen()
Dok = Thiscomponent
'Selektierten Bereich ermitteln
Quellbereich = Dok.getCurrentSelection()
Quelle = Quellbereich.getRangeAddress
'Anfang und Ende der markierten Zeilen finden - nur notwendig,
'wenn nicht ganze Zeile kopiert und gelöscht werden darf
Anfang = Quelle.Startrow
Ende = Quelle.Endrow
Nr = Quelle.sheet
Quellbereich = Dok.sheets(Nr).getCellRangeByPosition(0,Anfang,27,Ende)
'Quelladdresse ermitteln
Quelle = Quellbereich.getRangeAddress
'nächste freie Zeile für den Übertrag finden
Zielblatt = Dok.sheets.getByName("CFD2010")
Cursor = Zielblatt.createCursor()
Cursor.gotoEndOfUsedArea(False)
Zeile = cursor.getRangeAddress().endrow+1
Ziel = Zielblatt.getCellByPosition(0,Zeile).getCellAddress()
'Kopieren
Zielblatt.copyRange(Ziel, Quelle)
'Inhalte vom Quellbereich löschen
Quellbereich.clearcontents(23)
End Sub
Gruß
Charly