Erklärung 'Range' VBA Excel

Hello

Im Lehrbuch von Bernd Held wird folgende Sub dargestellt:

Geburtstag = InputBox(„Geben Sie den Geburtstag im Format MM/TT/JJ ein.“, „Wann haben Sie Geburtstag?“)

Range(„A1“).Formula = Geburtstag
End Sub

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.

Wer hat eine leicht verständliche und nachvollziehbare Erklärung.
Dank und Gruß
VBA-Greenhorn

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 :smile:

Gruß
Reinhard