Hi Christian,
Im Lehrbuch von Bernd Held wird folgende Sub dargestellt:
*seufz*
Geburtstag = InputBox(„Geben Sie den Geburtstag im Format
MM/TT/JJ ein.“, „Wann haben Sie Geburtstag?“)
Range(„A1“).Formula = Geburtstag
Nun die Frage: Was bedeutet dieses Range?
Die Erklärung in der Hilfe: Gibt ein Range-Objekt zurück, das
eine Zelle oder einen Zellbereich darstellt.
…ist nicht wirklich aussagekräftig.
Range ist in einem Tabellenblatt ein Bereich, der aus einer oder mehreren Zellen besteht.
Damit Excel/Vba weiß welcher Bereich gemeint ist, muß man das dem Range-Object mitteilen.
Wenn du mit einer Excelfunktion in der Zelle B1 den Inhalt von Zelle A1 haben möchtest, schreibst du ja in B1 rein: =A1
Man kann das aber auch so formulieren:
Wenn du mit einer Excelfunktion im Bereich B1 den Inhalt vom Bereich A1 haben möchtest, schreibst du ja in B1 rein: =A1
Diese Unterscheidung macht bei einer Zlle noch wenig Sinn, der kommt jetzt bei diesem Satz:
Wenn du mit einer Excelfunktion im Bereich B1:B3 die Inhalte vom Bereich A1:A3 haben möchtest, schreibst du ja in B1 rein: =A1, in B2 rein: =A2 und in B3 rein: =A3
dadurch daß du die Formeln in Bx reinschreibst weiß ja Excel wohin es das Ergenis der Formel schreiben soll, also das Ergebnis von „=A1“ nach 1 usw.
Ein gestarteter Vba Code weiß das nicht. Du mußt ihm im Code „sagen“ von welchem Bereich er die Inhalte in welchen anderen Bereich schreiben muß.
Insofern für eine Zelle:
Range(„B1“).value=Range(„A1“).value
(Value bedeutet Wert)
für mehrere Zellen:
Range(„B1:B3“).value=Range(„A1:A3“).value
Wer hat eine leicht verständliche und nachvollziehbare
Erklärung.
Leicht verständlich und kurz zu formulieren ist garantiert nicht meine Stärke
Gruß
Reinhard