VBA Änderung im windows
#1
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!
...
Antworten Top
#2
Moin!
Glaskugel:
Dein VBA-Code wurde unter Excel 2010 oder älter erstellt.
Dann wird es umfangreich!
Schließlich hat sich die Fensterdarstellung ab 2013 grundsätzlich geändert.
Früher: M(ultiple) D(ocument) I(nterface)
Danach: S(ingle) D(ocument) I(nterface)
Lesefutter:
https://learn.microsoft.com/de-de/office...e-in-excel

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hi,

ich dachte, das sei gelöst:

https://www.herber.de/cgi-bin/eachthread.pl?idx=1986265
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste