Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

warum ist der Code so langsam?

Forumthread: warum ist der Code so langsam?

warum ist der Code so langsam?
Marcy
Hi Profis,
mit diesem Code schreibe ich in einer freigegebenen Datei den Benutzer und Jetzt() ins Tabellenblatt Chronologie.
Tabelle läuft prima.
Bei einem neuen Benutzer hängt die Tabelle allerdings schon beim Öffnen.
Habe gleiche Tabelle nun ohne den Code bei dem Problem User getestet. -> Tabelle läuft prima.
Würde so zwar auch gehen, aber interessant wäre es schon zu wissen, wann wer die Tabelle geöffnet hat.
ActiveWorkbook.Save soll einen Konflikt verhindern.
Habe ihr eine Idee, wie ich den ändern kann, dass es er schneller ist, oder was ich an den Einstellungen des Problem Users ändern muss?
Erst hatte ich den Code so, dass bei Workbook_Close in Spalte C Jetzt() von Schließen geschrieben wurde.
Da gab es aber verwirrende Vermischungen, da die erste frei Zelle genommen wurde, unabhängig vom Benutzer.
Gruß und Danke
Marcy
Private Sub Workbook_Open()
With Sheets("Chronologie")
With .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
.Value = Environ("USERNAME")
.Offset(0, 1) = Now
ActiveWorkbook.Save
End With
End With
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: warum ist der Code so langsam?
21.03.2012 10:54:49
Peter
Hallo Marcy,
kann es sein, dass Excel sich an dem Punkt vor Rows.Count stört?
Der gehört da eigentlich nicht hin.
Gruß Peter
AW: warum ist der Code so langsam?
21.03.2012 12:28:58
dan
Hallo Marcy,
ich habe den Code einbischen anders gemacht, die With Blocks entfernt, ActiveWorkbook mit ThisWorkbook erseatzt usw. Eigentlich nur Kleinigkeiten, aber versuch es damit. Bei mir lauft es ohne Probleme. Gruss dan, cz.
Option Explicit
Private Sub Workbook_Open(): On Error GoTo Err_Workbook_Open
Dim userInfo As Range
Dim chronologie As Worksheet
Set chronologie = ThisWorkbook.Worksheets("Chronologie")
Set userInfo = chronologie.Cells(chronologie.Rows.Count, 1).End(xlUp).Offset(1, 0)
userInfo.Value = Application.UserName ' Returns or sets the name of the current user
userInfo.Offset(0, 1).Value = Now
ThisWorkbook.Save
Exit Sub
Err_Workbook_Open:
MsgBox Err.Description, vbCritical, "Error on Workbook_Open. [" & ThisWorkbook.Name & "]"
End Sub

Anzeige
AW: warum ist der Code so langsam?
21.03.2012 14:31:29
Marcy
Hallo Euch zwei,
vielen Dank für die Hilfe.
Habe die Datei nun ohne den blöden Punkt ans laufen bekommen.
Seltsam, sie lief bei allen, nur bei dem einem PC nicht.
@dan
Deine Variante probiere ich mal in der original Datei.
Leider komme ich in der laufenden freigegebenen Datei nicht mehr in VBA, auch nicht, wenn ich die Freigabe ausschalte.
Beim versuch auf VBA zu gehen kommt die Fehlermeldung "Projekt kann nicht angezeigt werden".
Also vielen Dank Euch zwei.
Liebe Grüße Marcy
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige