Nochmal Excel/VBA Zellbezug aus Zelle verwenden

Hallo!

habe von Reinhard einen Tip zu meinem Problem mit dem Zellbezug bekommen (Danke nochmal), der funzt auch - leider nur in SUBs

geht sowas auch in Functionen?
oder anders herum, wieso geht xxx.value = yyy nicht in Functionen???

da ich mehrere solche Aufrufe verwenden möchte

  • sollte das in Functionen geschehen (je Eintrag ein Function-Aufruf)
  • oder ein SUB - wenn es denn sein sollte - soll eine Matrix verwenden

aber mit

SUB TESTNAME ()
 Liste=WORKSHEETS("TABELLE1").RANGE("A1:G8").VALUE
 ...
END SUB

komme ich auch nicht weiter - VBA treibt mich noch in den Wahnsinn!!!

wie kann ich einen zweidimensionalen Zellbereich lesen/auswerten?


isarray(Liste) ist zwar noch wahr, l/ubound ergibt, dass es im o.g. Beispiel Liste(1) bis Liste(8) gibt. Liste(1) ist aber weder mit isarray(Liste(1)) noch mit msgbox(liste(1)) noch mit liste(1,1) zu irgendwelchen Ergebnissen zu bewegen - immer nur index-ausserhalb-des-Bereichs-Fehler :frowning:

Kann mir noch jemand helfen? BITTE - DANKE!!

cu Kai

Hi kai,

habe von Reinhard einen Tip zu meinem Problem mit dem
Zellbezug bekommen (Danke nochmal), der funzt auch - leider
nur in SUBs

geht sowas auch in Functionen?
oder anders herum, wieso geht xxx.value = yyy nicht in
Functionen???

ich weiß nicht genau was du vorhast, dieses hier funktioniert:

Sub Test()
MsgBox Geht
End Sub

Function Geht()
Range(„A1“) = „A“
Range(„B1“) = „B“
geht=„Huhu“
End Function

Was aber nicht geht, diese Funktion in Excel zu benutzen als =Geht(),
mit einer Funktion in Excel kann man in keine andere Zelle außer der wo die Funkrion als Formel sthet reinschreiben.

  • oder ein SUB - wenn es denn sein sollte - soll eine Matrix
    verwenden

aber mit

SUB TESTNAME ()
Liste=WORKSHEETS(„TABELLE1“).RANGE(„A1:G8“).VALUE

END SUB

Ein Bereich hat kein(en) Value.

Probiers mal so:

Sub TESTNAME()
Dim Liste, Zei, Spa
Liste = Worksheets("Tabelle1").Range("A1:G8")
For Spa = 1 To UBound(Liste, 1)
 For Zei = 1 To UBound(Liste, 2)
 MsgBox Liste(Zei, Spa)
 Next Zei
Next Spa
End Sub

Gruß
Reinhard

Hi kai,

habe von Reinhard einen Tip zu meinem Problem mit dem
Zellbezug bekommen (Danke nochmal), der funzt auch - leider
nur in SUBs

Ich nehme an er spricht von Tabellenfunktionen.
Tabellenfunktionen verzeihen keine Seiteneffekte, den Zugriff auf Tabellendaten durch interne Bezüge. Das ist auch logisch!
Wird über Seiteneffekte auf Zelle zugegriffen, dann kann XL bei Änderungen in den Seiteneffektbereichen nicht feststellen, dass die Funktion neuberechnet werden muss - dazu ist die Übergabe als Argument notwendig - die Funktion rechnet falsch. Eine Änderung von Seiteneffektbereichen DURCH die Funktion wäre eine Endlosschleife:
Anfang:

  • Funktion ändert einen Zelleinhalt
  • Geänderter Zelleninhalt löst eine Neuberechnung aus
  • Funktion wir neuberechnet, obwohl noch nicht fertig gerechnet
    GOTO Anfang