Hallo Flyse,
kennst Du eigentlich schon Michael Dannenhoefer?
Wenn nicht, dann wirts aber aller höchste Eisenbahn für dich. Guckst Du hier: Welche Gültigkeit haben Variablen?
Ich hoffe Du kommst damit zu recht. Wenn nicht, einfach wieder melden.
Gruß
balu
Globale Variablen für Tabellendokumente
Moderator: Moderatoren
Re: Globale Variablen für Tabellendokumente
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: Globale Variablen für Tabellendokumente
Aloha
Ansonsten lautet die Syntax
Diese Art der Deklaration bedeutet natürlich, dass die Speicherbereiche reserviert werden, selbst wenn Du die Variablen gar nicht verwenden willst.
Wenn es nur zum Testen ist, musst Du die Variablen eigentlich gar nicht deklarieren - obwohl es natürlich gut ist, sich sowas von vornherein anzugewöhnen.Flyse hat geschrieben:Nun ist es ziemlich umständlich dies in jeder Prozedur zu wiederholen.
Ansonsten lautet die Syntax
Code: Alles auswählen
Private Document As Object
Private datasheet As Object
Private datasheet2 As Object
Private CellRange1 As Object
Private CellRange2 As Object
Private mycell as Object
Sub Test
Document = thisComponent
'etc
End Sub
Re: Globale Variablen für Tabellendokumente
Aloha
Das geht nur bei Deklaration als Konstante und meines Wissens nach auch nur bei sogenannten Simple Types.
Die einzige Lösung, die Deiner Vorstellung nahe kommen würde, wäre folgende:
In der Praxis würde man das aber eher in eine eigene Prozedur auslagern, die man einfach zu Beginn der anderen Prozeduren aufruft, ala
Dadurch müsstest Du bei einer Änderung nicht jede einzelne Prozedur anpassen, sondern es reicht die Änderung in Init.
Nein, nicht so, wie Du Dir das vorstellst.flyse hat geschrieben:Daran anschließend jedoch dann die Frage ob ich diesen außerhalb der sub deklarierten Variablen feste "Werte" zuweisen kann
Das geht nur bei Deklaration als Konstante und meines Wissens nach auch nur bei sogenannten Simple Types.
Die einzige Lösung, die Deiner Vorstellung nahe kommen würde, wäre folgende:
Code: Alles auswählen
Dim Doc as Object
Dim Tabelle as Object
Dim Wertebereich as Object
Dim Const sWertebereichname as String = "B3:G26"
Dim Const sTabellenname as String = "AniMesswerte"
Sub bla
Doc = thisComponent
Tabelle = Doc.Sheets.getByName(sTabellenname)
Wertebereich = Tabelle.getCellRangeByName(sWertebereichname)
'uswusf
End Sub
Code: Alles auswählen
Dim Doc as Object
Dim Tabelle as Object
Dim Wertebereich as Object
Sub Init
Doc = thisComponent
Tabelle = Doc.Sheets.getByName("AniMesswerte")
Wertebereich = Tabelle.getCellRangeByName("B3:G26")
End Sub
Sub bla
Init()
'Tatsächliche Arbeit im Makro
End Sub
Sub blub
Init()
'Tatsächliche Arbeit im Makro
End Sub