Hallo zusammen.
Ich habe eine Excel-Datei mit einer Haupttabelle und
mehreren Untertabellen (Auto, Miete, Kleidung etc.)
Um die aktuellen Daten aus der Haupttabelle
(Spalte D : Auto, Miete, Kleidung etc, Spalte D die entsprechenden Werte)
in die jeweiligen Untertabellen zu übertragen verwende ich in :
Zelle C3 "=Teil(Zelle("Dateiname");Suchen("]";Zelle("Dateiname"))+1;31)" - Tabellenname -
Zelle D3 "=Sverweis(C3;Tabelle!D10:E20;2;0) - Werte -
Das funktioniert einwandfrei.
Nur : In "Dateiname" steht immer der Name der zuletzt geänderten (und somit berechneten Tabelle).
Ich möchte nun eine Neuberechnung beim Betreten der jeweiligen Untertabelle auslösen.
Wer hat da Erfahrung?
Office - Word, Excel und Co. 9.706 Themen, 40.868 Beiträge
Hallo!
Private Sub Workbook_Open()
Sheets(1).OnEntry = "DieseArbeitsmappe.NeuBerechnen"
Sheets(2).OnEntry = "DieseArbeitsmappe.NeuBerechnen"
Sheets(3).OnEntry = "DieseArbeitsmappe.NeuBerechnen"
Sheets(4).OnEntry = "DieseArbeitsmappe.NeuBerechnen"
End Sub
Es geht auch einfacher. Ohne Workbook_Open oder Worksheet_Activate. Das folgende Makro in "DieseArbeitsmappe". Dieses Makro hat den Vorteil, dass man es nur einmal schreiben muss und es trotzdem in allen Tabellen nutzen kann.
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Calculate
End Sub
Es würde auch mit Hilfe einer Klassenprogrammierung gehen, dann könnte man das Makro auch in allen Arbeitsmappen global nutzen.
Gruß, René