Verstehe ich das richtig, dass die Zuweisungen an sich nicht zwingend erforderlich sind, sondern mehr der Übersichtlichkeit dienen?
Ja, das verstehst Du ganz richtig. Einzig geht es nicht nur um Übersichtlichkeit sondern auch um Kürze des Codes, was aber fast Dasselbe ist.
Übersichtlich und kürzer wäre z.B. (Beispiel A):
Code: Alles auswählen
With Dokument.getCurrentSelection().getCellAddress()
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, .Row, 255, .Row)
End With
oder auch (Beispiel B):
Code: Alles auswählen
zeile = Dokument.getCurrentSelection().getCellAddress().Row
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, zeile, 255, zeile)
Diese 2 Beispiele sowie Dein Beispiel und der ursprüngliche Code sind dabei funktionell identisch. Das man trotzdem manchmal verschiedene Schreibweisen verwendet hat, neben persönlicher Bevorzugung einer Schreibweise, damit zu tun das manche Ausdrücke in manchen Situationen zweckmäßiger sind.
Beispielsweise ist die Schreibweise:
Code: Alles auswählen
zeile = Dokument.getCurrentSelection().getCellAddress().Row
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, zeile, 255, zeile)
prima, solange Du nicht auch die Spalte brauchst, denn brauchst Du diese, müßte man z.B. schreiben:
Code: Alles auswählen
zeile = Dokument.getCurrentSelection().getCellAddress().Row
spalte = Dokument.getCurrentSelection().getCellAddress().Column
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, zeile, spalte, zeile)
was jedoch relativ lang ist, weswegen man u.U. bevorzugen würde zu schreiben:
Code: Alles auswählen
With Dokument.getCurrentSelection().getCellAddress()
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, .Row, .Column, .Row)
End With
wohlgemerkt "u.U" und nicht generell, da es ja auch sein kann das man die Werte für Zeile und Spalte in verschiedenen Makros braucht, dann würde man (wieder nur u.U.) z.B. bevorzugen zu schreiben:
Code: Alles auswählen
Global zeile
Global spalte
Sub test()
'... weiterer Code
With Dokument.getCurrentSelection().getCellAddress()
zeile = .Row
spalte = .Column
End With
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, zeile, spalte, zeile)
'... weiterer Code
End Sub
Sub NochEinMakro()
'...
'hier werden die Werte für zeile und spalte auch gebraucht
'...
End Sub
Naja, und so kann man noch vielfältig andere Schreibweisen verwenden, je nach Situation und Vorlieben.
Gruß
Stephan
[quote]Verstehe ich das richtig, dass die Zuweisungen an sich nicht zwingend erforderlich sind, sondern mehr der Übersichtlichkeit dienen?[/quote]
Ja, das verstehst Du ganz richtig. Einzig geht es nicht nur um Übersichtlichkeit sondern auch um Kürze des Codes, was aber fast Dasselbe ist.
Übersichtlich und kürzer wäre z.B. (Beispiel A):
[code]With Dokument.getCurrentSelection().getCellAddress()
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, .Row, 255, .Row)
End With[/code]
oder auch (Beispiel B):
[code]zeile = Dokument.getCurrentSelection().getCellAddress().Row
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, zeile, 255, zeile)[/code]
Diese 2 Beispiele sowie Dein Beispiel und der ursprüngliche Code sind dabei funktionell identisch. Das man trotzdem manchmal verschiedene Schreibweisen verwendet hat, neben persönlicher Bevorzugung einer Schreibweise, damit zu tun das manche Ausdrücke in manchen Situationen zweckmäßiger sind.
Beispielsweise ist die Schreibweise:
[code]zeile = Dokument.getCurrentSelection().getCellAddress().Row
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, zeile, 255, zeile)[/code]
prima, solange Du nicht auch die Spalte brauchst, denn brauchst Du diese, müßte man z.B. schreiben:
[code]zeile = Dokument.getCurrentSelection().getCellAddress().Row
spalte = Dokument.getCurrentSelection().getCellAddress().Column
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, zeile, spalte, zeile)[/code]
was jedoch relativ lang ist, weswegen man u.U. bevorzugen würde zu schreiben:
[code]With Dokument.getCurrentSelection().getCellAddress()
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, .Row, .Column, .Row)
End With[/code]
wohlgemerkt "u.U" und nicht generell, da es ja auch sein kann das man die Werte für Zeile und Spalte in verschiedenen Makros braucht, dann würde man (wieder nur u.U.) z.B. bevorzugen zu schreiben:
[code]Global zeile
Global spalte
Sub test()
'... weiterer Code
With Dokument.getCurrentSelection().getCellAddress()
zeile = .Row
spalte = .Column
End With
Ursprungsbereich = Ursprung.getCellRangeByPosition(0, zeile, spalte, zeile)
'... weiterer Code
End Sub
Sub NochEinMakro()
'...
'hier werden die Werte für zeile und spalte auch gebraucht
'...
End Sub[/code]
Naja, und so kann man noch vielfältig andere Schreibweisen verwenden, je nach Situation und Vorlieben.
Gruß
Stephan