Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1128to1132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blatt automatisch neu berechnen

Blatt automatisch neu berechnen
RalfTh
Hallo Excelfreunde
Ich habe mal wieder ein Anfängerproblem.
Ich habe eine Exceldatei mit einem Blatt Namens "INI" Hier ermittle ich unter anderem den Dateinamen und die Namen der einzelnen Blätter. Hierzu habe ich mir diese kleine Funktion zusammengeschustert:

'Namen der Tabellenblätter ermittlen
Public Function SheetName(Index)
Dim a As Variant
a = Sheets(Index).Name
SheetName = a
End Function

So weit so gut, oder auch nicht. Wenn ich nämlich jetzt neue Tabellenblätter einfüge, oder den Namen des Tabellenblattes ändere werden die Zellen, welche diese Funktion nutzen nicht neu berechnet.
Es gibt ja Application.Calculate, aber ich weiß nicht wo ich es einsetzen soll.
Wäre dankbar für Hilfe
Grüße
Ralf

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Versuchs mal mit application.volatile OT
18.01.2010 10:38:21
ingoG
.
AW: Blatt automatisch neu berechnen
18.01.2010 10:39:38
Renee
Hi Ralf
So weit so gut, oder auch nicht.
Eher nicht ;-)
Das Problem: Weder ein Rename noch das Einfügen eines Tabellenblatts, triggert ein Ereignis in Excel.
Ist zwar nicht sehr schön, aber ein
    Application.Volatile

nach deiner Dim Anweisung würde helfen.
GreetZ Renée

AW: Blatt automatisch neu berechnen
18.01.2010 10:51:20
PointOfView
Hallo Ralf,
versuch es mal hiermit:
'Code in "DieseArbeitsmappe"
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call Kalkuliere
End Sub
Code in ein Modul (bsp. basMain):
Sub Kalkuliere()
'alle Tabellenblätter berücksichtigen
Set MySheet = ActiveSheet
Dim intAnzahl As Integer
For intAnzahl = 1 To Worksheets.Count
Worksheets(intAnzahl).Activate
'automatische kalkulieren aktivieren
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
MySheet.Activate
Next
End Sub
Wenn ich Dich richtig verstanden habe, dann soll die Berechnung bei jeder Aktivität innerhalb des Workbooks erfolgen, egal ob Wertänderungen erfolgen, oder Tabellenblätter gelöscht oder hinzugefügt werden. Bitte korrigiere mich, wenn ich falsch liege.
Viele Grüsse
Oliver
Anzeige
AW: Blatt automatisch neu berechnen
18.01.2010 11:47:10
Tino
Hallo,
versuch mal und füge in die entsprechende Tabelle diesen Code ein.
Private Sub Worksheet_Activate()
ActiveSheet.Calculate
End Sub
Gruß Tino

190 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige