Macro Zellen verschieben funktioniert - was mache ich?
Verfasst: Fr, 13.04.2012 12:09
Hallo miteinander,
ich möchte noch etwas dazulernen und darum habe ich eine Frage.
Ich habe ein Macro geschrieben (mit Hilfe Dannenhöfer), welches eigentlich nur eine Zeile auf ein anderes Tabellenblatt verschiebt.
Ziel ist es, eine erledigte Aufgabe in eine Historie zu schieben.
Folgendes Macro:
Den Anfang verstehe ich:
Ich lege fest, dass das aktive Dokument gemeint ist (ThisComponent) und definiere das Ursprungs-Blatt und das Ziel-Blatt (jeweils über getByIndex).
Die folgenden Zeilen dienen dazu, die Zeilennummer aus der aktuell gewählten Zelle auszulesen (getCurrentSelection().getCellAddress()).
Dann wird der zu kopierende Bereich im Ursprungs-Blatt festgelegt (Ursprung.getCellRangeByPosition(0, Zeile, 255, Zeile))
Aber was erreiche ich mit dem Teil-Code: UrsprungsbereichAdresse = Ursprungsbereich.getRangeAddress ?
Was bewirkt diese Code-Zeile?
Gleiches gilt für die folgenden Zeilen um den Zielbereich festzulegen. Die erste Zeile verstehe ich, aber was bewirkt ZielbereichAdresse = Zielbereich.getCellAddress?
Und was bedeutet der Teil UrsprungsZeilen = Ursprung.getrows?
Ich verstehe also immer die Festlegungen der Bereiche, aber was bedeuten die folgenden Befehle?
Benötige ich diese, um explizit Zugriff auf die zuvor festgelegten Bereiche zu erhalten?
Ich hoffe es kann mir jemand helfen und Licht ins Dunkel bringen...
ich möchte noch etwas dazulernen und darum habe ich eine Frage.
Ich habe ein Macro geschrieben (mit Hilfe Dannenhöfer), welches eigentlich nur eine Zeile auf ein anderes Tabellenblatt verschiebt.
Ziel ist es, eine erledigte Aufgabe in eine Historie zu schieben.
Folgendes Macro:
Code: Alles auswählen
Sub NA_Archivieren
Dim Dokument As Object, Auswahl As String
Dokument = ThisComponent
Ursprung = Dokument.Sheets.getByName("NA")
Ziel = Dokument.Sheets.getByName("Historie NA")
Zelle = Dokument.getCurrentSelection().getCellAddress()
Zeile = Zelle.Row
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, Zeile, 255, Zeile)
UrsprungsbereichAdresse = Ursprungsbereich.getRangeAddress
ZielZeilen = Ziel.getRows
ZielZeilen.insertByIndex(3,1)
Zielbereich = Ziel.getCellByPosition(0,3)
ZielbereichAdresse = Zielbereich.getCellAddress
Ziel.copyRange(ZielbereichAdresse,Ursprungsbereichadresse)
UrsprungsZeilen = Ursprung.getrows
UrsprungsZeilen.removeByIndex(Zeile,1)
End Sub
Ich lege fest, dass das aktive Dokument gemeint ist (ThisComponent) und definiere das Ursprungs-Blatt und das Ziel-Blatt (jeweils über getByIndex).
Die folgenden Zeilen dienen dazu, die Zeilennummer aus der aktuell gewählten Zelle auszulesen (getCurrentSelection().getCellAddress()).
Dann wird der zu kopierende Bereich im Ursprungs-Blatt festgelegt (Ursprung.getCellRangeByPosition(0, Zeile, 255, Zeile))
Aber was erreiche ich mit dem Teil-Code: UrsprungsbereichAdresse = Ursprungsbereich.getRangeAddress ?
Was bewirkt diese Code-Zeile?
Gleiches gilt für die folgenden Zeilen um den Zielbereich festzulegen. Die erste Zeile verstehe ich, aber was bewirkt ZielbereichAdresse = Zielbereich.getCellAddress?
Und was bedeutet der Teil UrsprungsZeilen = Ursprung.getrows?
Ich verstehe also immer die Festlegungen der Bereiche, aber was bedeuten die folgenden Befehle?
Benötige ich diese, um explizit Zugriff auf die zuvor festgelegten Bereiche zu erhalten?
Ich hoffe es kann mir jemand helfen und Licht ins Dunkel bringen...