Globale Variablen für Tabellendokumente

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Globale Variablen für Tabellendokumente

Re: Globale Variablen für Tabellendokumente

von DPunch » Mi, 15.06.2011 19:06

Aloha
flyse hat geschrieben:Daran anschließend jedoch dann die Frage ob ich diesen außerhalb der sub deklarierten Variablen feste "Werte" zuweisen kann
Nein, nicht so, wie Du Dir das vorstellst.
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
In der Praxis würde man das aber eher in eine eigene Prozedur auslagern, die man einfach zu Beginn der anderen Prozeduren aufruft, ala

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
Dadurch müsstest Du bei einer Änderung nicht jede einzelne Prozedur anpassen, sondern es reicht die Änderung in Init.

Re: Globale Variablen für Tabellendokumente

von DPunch » Mi, 15.06.2011 13:59

Aloha
Flyse hat geschrieben:Nun ist es ziemlich umständlich dies in jeder Prozedur zu wiederholen.
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.

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
Diese Art der Deklaration bedeutet natürlich, dass die Speicherbereiche reserviert werden, selbst wenn Du die Variablen gar nicht verwenden willst.

Re: Globale Variablen für Tabellendokumente

von balu » Mi, 15.06.2011 13:47

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

Nach oben