Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
460to464
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
460to464
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Performance von Excel-AddIn

Performance von Excel-AddIn
25.07.2004 17:58:27
Excel-AddIn
Hallo VBA-Spezialisten,
hat jemand von euch eine Idee, wie ich das nachfolgende Excel-AddIn von der Laufzeit schneller machen kann. Wenn ich das Excel-AddIn über eine Arbeitsmappe mit 5 Tabellenblättern rennen lasse, benötigt das AddIn 1,5 Minuten.

Sub auto_open()
MenuBars(xlWorksheet).Menus("Extras").MenuItems.Add Caption:="Kopf-Fuß-&Zeile", OnAction:="Kopf_Fuß_Zeile"
End Sub


Sub Kopf_Fuß_Zeile()
'Verwendete Formatcodes in Kopf-Fuss-Zeile:
'&Arial = Schriftart Arial
'&B = Fettdruck
'&11 = Schriftgrad 11
'&8 = Schriftgrad 8
'&P = Seitenzahl
'&N = Gesamtzahl der Seiten
'&D = Aktuelles Datum
'&T = Aktuelle Zeit
Dim wks As Worksheet
Application.ScreenUpdating = False 'Bildschirmaktualisierung deaktivieren
For Each wks In Worksheets
With wks.PageSetup
'Kopf-Fuss-Zeile im allen Tabellenblättern löschen:
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
'Kopf-Fuss-Zeile in allen Tabellenblättern hinzufügen:
.LeftHeader = "&""Arial""&B&8 Stand: " & Format(Now, "dd.mm.yyyy")
.CenterHeader = "&""Arial""&B&11" & wks.Name
.LeftFooter = "&""Arial""&B&8" & Application.UserName & vbLf & ActiveWorkbook.FullName
.CenterFooter = "&""Arial""&B&8 &P / &N"
.RightFooter = "&""Arial""&B&8 Gedruckt: &D; &T"
End With
Next wks
Application.ScreenUpdating = True 'Bildschirmaktualisierung aktivieren
End Sub


Sub Auto_Close()
On Error Resume Next
MenuBars(xlWorksheet).Menus("Extras").MenuItems("Kopf-Fuß-Zeile").Delete
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Performance von Excel-AddIn
Excel-AddIn
hallo
Das ist das alte Problem :-)
ich würde an deiner Stelle eine Tabellengruppe bilden und das PageSetup auf die aktuelle Tabelle machen. Durch die Gruppenbildung wird das automatisch auf alle übertragen.

Sub All_Setup()
Dim i, tabArr() As Variant
ReDim tabArr(Worksheets.Count)
For i = 1 To Worksheets.Count
tabArr(i) = Worksheets(i).Name
Next i
Sheets(tabArr).Select
With ActiveSheet.PageSetup
.LeftHeader = ""
'Hier der Rest deiner anweisungen
End With
End Sub

Übrigens "&A" steht für den Registernamen,.... dann brauchst du wks.Name nicht mehr ;-)
und der Rest ist ja sowieso auf allen gleich.
Gruss Rainer
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige