Excel, VBA,Fehler beim Kompilieren

Hallo,

Das Programm soll die Parameter aus den Zeilen D2 und G3 automatisch einlesen.

Sub xy()
With Worksheets(„xy“)

x= Range(„D2“) Value
y= Range („G3“) value

Doch es tritt dieser Fehler auf bei Value,

Fehler beim Kompilieren
Erwartet: Anweisungsende

Ich glaub das ist was ganz einfaches, bin aber nicht so fit in VBA.

Bitte euch um Hilfe.

Jetzt machma’n Punkt…
Hallo Anton,

… vor dem Value

x = Range(„D2“).Value

Gruß
Reinhard

Grüezi zusammen

Hallo Anton,

…hier auch nochmal was ich schon in der Expertenanfrage geschrieben habe:

… vor dem Value

x = Range(„D2“).Value

…und auch vor dem Range… :wink:

With Worksheets("xy")
 x= .Range("D2").Value
 y= .Range("G3").Value
End With

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Warum bei With der Punkt so wichtig ist
Grüezi Thomas,

wenn xy grad das aktive Blatt ist merkt der User bei dem Punkt vor Range keinen Unterschied bzw. dann ist es im Ergebnis für die Variable x auch keiner.
Aber wenn xy nicht das aktive Blatt ist dann ist da ein Unterschied.

Beispiel zum Verständnis:

Sub tt()
Dim a, b, c, d
With Worksheets("xy")
 a = Range("D2").Value ' bezieht sich auf das gerade aktive Blatt
 b = Range("G3").Value ' bezieht sich auf das gerade aktive Blatt
 c = .Range("D2").Value ' bezieht sich auf Worksheets("xy")
 d = .Range("G3").Value ' bezieht sich auf Worksheets("xy")
End With
End Sub

Gruß
Reinhard

Grüezi Reinhard

wenn xy grad das aktive Blatt ist merkt der User bei dem Punkt
vor Range keinen Unterschied bzw. dann ist es im Ergebnis für
die Variable x auch keiner.

Ja, das ist inhaltlich richtig - dann kann/soll aber auch das With gleich weggelassen werden…

Aber wenn xy nicht das aktive Blatt ist dann ist da ein
Unterschied.

Logisch - und wenn ich With verwende dann immer zur strukturieren des Codes. Dann gehört der Punkt da halt wirklich hin.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -