29.07.2024, 06:13
Hallo,
Ich bin neu im Forum aber nicht unbedingt neu im Excel.
Folgende Problematik:
Ich habe ein WorkBook.xlsm "geerbt" das von der interaktion mehrere Tabellenblätter lebt und in dem viele Makros arbeiten.
Es werden aus den Macros's jeweils in verscheiden Macros maximal 6 ActiveWindow.NewWindow befehle abgesetzt.
Diese werden in den Macros immer auf folgende Art und Weise angesprochen:
Windows (Workbookname;x)Axtivate vobei x für eins der geöffneten Fenster steht.
Das funktioniert so unter office 365 nicht mehr.
Für einen Teil absolut nicht notwenig aber minimum 3 Fenster müssen bestehen bleiben. Auch werden in den einzeln Fenstern immer wieder auf integrierte Tabellen zu gegriffen, wobei es sich bei einer Tabelle um eine Daten/Steuertabelle für alle Tabellen handelt.
Ich weiss man sollte die windwos.activate und sheets.select vermeiden.
Wie komme ich nun da hin eine globale Variable zu generieren die bei bedarf in der Daten/steuer-Tabelle einen oder mehrere Werte liest und die dann entsprechend weiterverarbeitet werden.
Ich bin da so langsam am verzweifeln.
Meine Idee war ein Public-Object das als inhalt eine Zeiger auf das Daten/SteuerBlatt-des Workbooks hat :
Public pubvarDATENSTEUER as Workbook.sheets("35" oder wie auch immer)
und damit könnte ich dann folgendes realisieren.
Im Macro1:
Zeilenhöhe = pubvarDATENSTEUER).Range("A444").value
oder ähnliches
In Macro2 dann:
Leistung: = pubvarDatenSteuer.Range("D666").value
Dadurch würde ich viel Code sparen und das Ding würde endlich mal schneller laufen.
Ich hoffe, auf eure Hilfe!
Ich bin neu im Forum aber nicht unbedingt neu im Excel.
Folgende Problematik:
Ich habe ein WorkBook.xlsm "geerbt" das von der interaktion mehrere Tabellenblätter lebt und in dem viele Makros arbeiten.
Es werden aus den Macros's jeweils in verscheiden Macros maximal 6 ActiveWindow.NewWindow befehle abgesetzt.
Diese werden in den Macros immer auf folgende Art und Weise angesprochen:
Windows (Workbookname;x)Axtivate vobei x für eins der geöffneten Fenster steht.
Das funktioniert so unter office 365 nicht mehr.
Für einen Teil absolut nicht notwenig aber minimum 3 Fenster müssen bestehen bleiben. Auch werden in den einzeln Fenstern immer wieder auf integrierte Tabellen zu gegriffen, wobei es sich bei einer Tabelle um eine Daten/Steuertabelle für alle Tabellen handelt.
Ich weiss man sollte die windwos.activate und sheets.select vermeiden.
Wie komme ich nun da hin eine globale Variable zu generieren die bei bedarf in der Daten/steuer-Tabelle einen oder mehrere Werte liest und die dann entsprechend weiterverarbeitet werden.
Ich bin da so langsam am verzweifeln.
Meine Idee war ein Public-Object das als inhalt eine Zeiger auf das Daten/SteuerBlatt-des Workbooks hat :
Public pubvarDATENSTEUER as Workbook.sheets("35" oder wie auch immer)
und damit könnte ich dann folgendes realisieren.
Im Macro1:
Zeilenhöhe = pubvarDATENSTEUER).Range("A444").value
oder ähnliches
In Macro2 dann:
Leistung: = pubvarDatenSteuer.Range("D666").value
Dadurch würde ich viel Code sparen und das Ding würde endlich mal schneller laufen.
Ich hoffe, auf eure Hilfe!
...