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

Screenupdating bei Makros, funktioniert nicht?

Screenupdating bei Makros, funktioniert nicht?
15.01.2006 13:25:11
MUC
Wie bekomme ich es hin, dass im folgenden VBA-text, bei dem von insgesamt ca 30 Tabellen, nur der jeweilige bearbeitende USER seine Taballe sehen soll, beim Aufrufen nicht kurz, für einen Bruchteil einer Sekunde, alle Tabellen sieht.
Ich habe da was von "Screenupdate = false" gehört. Das steht zwar unten dabei, aber es bringt nichts.
Habe ich es falsch gesetzt? Oder was gibt es noch für Möglichkeiten, damit beim Aufrufen auch wirklich nur die Tabelle des jeweiligen Bearbeiters erscheit, ohne kurzes Aufblinken aller Tabellen?
(Im übrigen ist dar VBA-text so erstellt, dass er nur mit aktivierten Makros betrieben werden kann, wobei in Tabelle1 der Hinweis "Nur mit aktivierten Makros zu öffnen" steht, für den Fall das Makros nicht aktiviert wurden)
SOLLTEN JEMANDEN FEHLER BEIM VBA TEXT AUFFALLEN BITTE GEBT MIR EINEN HINWEIS!!!! DANKE!!!!!!
--------------------------------------------------------------
Dim InI As Integer
Dim ByS As Boolean

Private Sub workbook_open()
ScreenUpdating = False
Sheets("ma1").Visible = xlVeryHidden
Sheets("ma2").Visible = xlVeryHidden
uNam = Environ("Username")
If uNam = "ma1" Then Sheets("ma1").Visible = True
If uNam = "ma2" Then Sheets("ma2").Visible = True
ScreenUpdating = False
Sheets("Tabelle1").Visible = False
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
ScreenUpdating = False
Dim Mldg As Byte
If ActiveWorkbook.Saved Then
Sheets("Tabelle1").Visible = True
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name <> "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
ByS = True
ThisWorkbook.Close True
Else
If ByS = True Then Exit Sub
Mldg = MsgBox(" Sollen die Veränderungen gespeichert werden ?", _
vbYesNo + vbQuestion, "abgespeichert?", "", 0)
If Mldg = 6 Then
Application.ScreenUpdating = False
Sheets("Tabelle1").Visible = True
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name <> "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
Application.ScreenUpdating = False
ByS = True
ThisWorkbook.Save
Else
ByS = True
ThisWorkbook.Close False
End If
End If
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Screenupdating bei Makros, funktioniert nicht?
15.01.2006 13:55:09
HansH
nach
ScreenUpdating = False
folgt
ScreenUpdating = True
Und zwar das Eine nach der Sub-Zeile am Anfang und das Andere am Ende vor End Sub
AW: Screenupdating bei Makros, funktioniert nicht?
15.01.2006 14:25:42
HansH
Ergänzung:
schreib so: Application.ScreenUpdating = False oder = True
Hans
AW: Screenupdating bei Makros, funktioniert nicht?
15.01.2006 14:26:40
MUC
blöde frage, aber muss wie von dir beschrieben nach "ScreenUpdating = False"
immer "ScreenUpdating = True" folgen, damit es funktioniert? oder meinst du, dass es nicht funktioniert, weil "false" auf "true" folgt. ich stell mit diese frage weil in meinem text wie gepostet kein false auf true folgt?! oder ich sehe es nicht:-)
vielen dank!
AW: Screenupdating bei Makros, funktioniert nicht?
15.01.2006 14:36:19
HansH
wie in diesem Beispiel muss das schon aussehen.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Dim Mldg As Byte
If ActiveWorkbook.Saved Then
Sheets("Tabelle1").Visible = True
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name <> "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
ByS = True
ThisWorkbook.Close True
Else
If ByS = True Then Exit Sub
Mldg = MsgBox(" Sollen die Veränderungen gespeichert werden ?", _
vbYesNo + vbQuestion, "abgespeichert?", "", 0)
If Mldg = 6 Then
Sheets("Tabelle1").Visible = True
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name <> "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
ByS = True
ThisWorkbook.Save
Else
ByS = True
ThisWorkbook.Close False
End If
End If
Application.ScreenUpdating = True
End Sub

Gruß
Hans
Anzeige
AW: Screenupdating bei Makros, funktioniert nicht?
15.01.2006 14:38:25
Achim
Hi,
was ausgeschaltet wurde, sollte auch wieder eingeschaltet werden, das gehört zur Programmierung, obwohl einiges auch von Excel automatisch zurückgesetzt wird.
Dein eigentliches Problem ist, dass das offenbar nicht funktioniert.
Mit dem Befehl lassen sich nicht alle Bildschirmaktionen unterdrücken, das ist einfach so.
mfg Achim

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige