Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
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

Hilfe bei Excel-Fehler

Hilfe bei Excel-Fehler
06.01.2023 11:45:03
Hannes
Hallo an alle,
ich wende mich heute an die Profis, da ich mit einem komischen Excel-Fehler nicht weiter komme.
Ich rufe über eine Userform ein ausgeblendetes Arbeitsblatt auf mit:
Unload UserForm1
Worksheets("Januar").Visible = True
Worksheets("Januar").Activate
Dieser einfache Code sollte problemlos funktionieren, tut er allerdings nicht auf allen verwendeten Systemen.
An den meisten Rechnern, an denen die Datei im Einsatz ist, funktioniert dies auch. Allerdings entsteht bei manchen Rechnern ein komischer Fehler:
Das Arbeitsblatt wird eingeblendet und ist sichtbar, aber reagiert nicht richtig. Eingaben werden verhindert wegen Blattschutz, obwohl die Zellen nicht geschützt sind. Es ist nicht möglich sich durch die Zellen mit Tastatur zu bewegen, lediglich auf Maus reagiert es. Selbst Excel kann nicht per "X-Schließen" beendet werden. Beim Versuch den Blattschutz komplett zu entfernen, reagiert Excel nicht auf das Aufheben. Wenn ich dann per Makro wieder in das urspüngliche Arbeitsblatt zurück wechsele, funktioniert und reagiert Excel wieder normal. Es ist, als ob das Blatt nicht richtig aktiv ist.
Wenn ich manuell per Einblenden das Blatt sichtbar mache und auswähle, funktioniert alles problemlos. Dies soll aber eigentlich verhindert werden, damit die Blätter nicht aus Versehen durch die Nutzer verändert werden.
Der Fehler tritt nicht auf allen Rechnern auf, teilweise funktionierte die Datei bereits schon, aber nach Neuinstallation von Office dann auch nicht mehr.
Ich habe keine richtige Ahnung, wo ich ansetzen soll, da es meiner Meinung nach nicht an dem Code liegen kann, sondern eher an einem "Hintergrund-Problem". Vielleicht hat es etwas mit den Verweisen zu tun, obwohl die eigentlich überall identisch sind. Abgesehen von den unterschiedlichen Office-Versionen. Der Fehler tritt jedoch in verschiedenen Office-Versionen auf (2013, 2016). Auf den betreffenden PCs wurde Office bereits mehrfach versucht neu zu installieren, ohne Erfolg.
Ich hoffe, ich konnte mein Problem gut schildern und freue mich auf Vorschläge.
Vielen Dank schon mal
Hannes

32
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Excel-Fehler
06.01.2023 11:52:28
snb
Wie sollte ein ungeladenes Userform VBA Code ausführen können ?
Verzichte in VBA immer auf 'select' und 'Activate'.

Sub M_snb()
sheets("Januar").Visible = True
Unload Me
End Sub

AW: Hilfe bei Excel-Fehler
06.01.2023 12:00:40
Hannes
Danke für die Antwort. Das habe ich falsch eingetippt, sorry.
Die Userform wird erst hinterher mit unload beendet, also
Worksheets("Januar").Visible = True
Worksheets("Januar").Activate
Unload UserForm1
Wenn ich Activate rausnehme, passiert gar nichts.
Als Zusatz noch, dass die Reiter für die Arbeitsblätter zu Beginn der Mappe ausgeblendet werden, damit die Nutzer da erst gar nicht Zugriff haben und eigentlich nur per Makro sich durch die Mappe bewegen.
Anzeige
AW: Hilfe bei Excel-Fehler
06.01.2023 12:13:22
Hannes
Im Workbook_Open Ereignis werden verschiedene Elemente ausgeblendet mit:

Sub StartSystem()
Application.DisplayFullScreen = True
ActiveWindow.DisplayHorizontalScrollBar = False
ActiveWindow.DisplayVerticalScrollBar = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayFormulaBar = False
Application.CommandBars("Worksheet Menu Bar").Enabled = False
End Sub
Hat es vielleicht damit zu tun?
AW: Hilfe bei Excel-Fehler
06.01.2023 12:11:51
onur

Unload UserForm1
gehört ans Ende des Codes
AW: Hilfe bei Excel-Fehler
06.01.2023 12:16:03
Hannes
Danke für die Antwort, der Code ist eigentlich am Ende. habe ich nur falsch hier eingegeben, sorry. Daran liegt es also nicht.
Worksheets("Januar").Visible = True
Worksheets("Januar").Activate
Unload UserForm1
Anzeige
AW: Hilfe bei Excel-Fehler
06.01.2023 12:17:59
onur
Und wie wird die Userform geöffnet?
Poste bitte auch noch alle Codes der Userform.
AW: Hilfe bei Excel-Fehler
06.01.2023 12:22:23
Hannes
Die Userform wird einfach aus dem Haupt-Tabellenblatt geladen per Button mit
UserForm1.Show
In der Userform finden sich verschiedene Buttons für die Auswahl anderer Tabellenblätter, die dann mit dem benannten Code aufgerufen werden sollen.
AW: Hilfe bei Excel-Fehler
06.01.2023 12:24:29
onur
"Poste bitte auch noch alle Codes der Userform."
War das zu subtil?
Poste zumindest das Initialize.
AW: Hilfe bei Excel-Fehler
06.01.2023 12:28:24
Hannes
Konkret handelt es sich um diese Codes, aber es funktioniert auch nicht ohne die If-Funktionen, sodass ich es nur vereinfach wollte. Danke

Private Sub Image1_Click()
If ListBox1.Value = "Januar" Then
Worksheets("Januar").Visible = True
Worksheets("Januar").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "Februar" Then
Worksheets("Februar").Visible = True
Worksheets("Februar").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "März" Then
Worksheets("März").Visible = True
Worksheets("März").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "April" Then
Worksheets("April").Visible = True
Worksheets("April").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "Mai" Then
Worksheets("Mai").Visible = True
Worksheets("Mai").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "Juni" Then
Worksheets("Juni").Visible = True
Worksheets("Juni").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "Juli" Then
Worksheets("Juli").Visible = True
Worksheets("Juli").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "August" Then
Worksheets("August").Visible = True
Worksheets("August").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "September" Then
Worksheets("September").Visible = True
Worksheets("September").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "Oktober" Then
Worksheets("Oktober").Visible = True
Worksheets("Oktober").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "November" Then
Worksheets("November").Visible = True
Worksheets("November").Activate
Unload MonatsAuswahl
Else
End If
If ListBox1.Value = "Dezember" Then
Worksheets("Dezember").Visible = True
Worksheets("Dezember").Activate
Unload MonatsAuswahl
Else
End If
End Sub

Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Top = (Application.Height - Me.Height) / 2
Me.Left = (Application.Width - Me.Width - 150)
Set Rng = Sheets("Daten").Range("H1:H12")
With ListBox1
.ColumnCount = Rng.Columns.Count
.List = Rng.Value
End With
End Sub
Andere Codes gibt es nicht.
Anzeige
AW: Hilfe bei Excel-Fehler
06.01.2023 12:33:03
onur
Nur so nebenbei: DAS reicht:

Private Sub Image1_Click()
Worksheets(ListBox1.Value).Visible = True
Worksheets(ListBox1.Value).Activate
Unload MonatsAuswahl
End Sub

AW: Hilfe bei Excel-Fehler
06.01.2023 12:35:35
Hannes
Vielen Dank für den Hinweis, das habe ich gleich umgesetzt, bin vba-Neuling.
Leider behebt es allerdings nicht den Fehler.
AW: Hilfe bei Excel-Fehler
06.01.2023 12:37:29
onur
DAS war mir klar.
AW: Hilfe bei Excel-Fehler
06.01.2023 12:39:36
onur
Poste mal die ganze Datei.
AW: Hilfe bei Excel-Fehler
06.01.2023 13:05:32
Hannes
Die Datei ist leider mit 1mb zu groß zum Hochladen
AW: Hilfe bei Excel-Fehler
06.01.2023 13:06:25
onur
Als xlsb speichern.
AW: Hilfe bei Excel-Fehler
06.01.2023 13:09:48
Hannes
Ist bereits als xlsb gespeichert
AW: Hilfe bei Excel-Fehler
06.01.2023 13:11:06
onur
Dann über Dropbox.
AW: Hilfe bei Excel-Fehler
06.01.2023 13:28:45
Hannes
Link ist da, die betroffene Userform verbirgt sich hinter dem oberen mittleren Button.
Aber an den meisten PCs funktioniert es.
Anzeige
AW: Hilfe bei Excel-Fehler
06.01.2023 13:18:26
snb
verwende
unload me
AW: Hilfe bei Excel-Fehler
06.01.2023 13:47:10
onur
Wie genau startest du die Problem-Userform ?
AW: Hilfe bei Excel-Fehler
06.01.2023 13:49:06
Hannes
Die Problem-Userform verbirgt sich hinter dem mittleren oberen Button (von den 6 Hauptbuttons in der Mitte)
AW: Hilfe bei Excel-Fehler
06.01.2023 13:53:01
onur
Dann deaktiviere mal diese dämliche Ausblenderei alle Blätter, Menüleiste usw bei Workbook_Open.
So kann ich nicht arbeiten.
AW: Hilfe bei Excel-Fehler
06.01.2023 13:56:13
Hannes
Hab den Link aktualisiert ohne die Ausblenderei
AW: Hilfe bei Excel-Fehler
06.01.2023 14:08:32
onur
Du schriebst: "Das Arbeitsblatt wird eingeblendet und ist sichtbar, aber reagiert nicht richtig. Eingaben werden verhindert wegen Blattschutz, obwohl die Zellen nicht geschützt sind" Welches Blatt meinst du denn?
Anzeige
AW: Hilfe bei Excel-Fehler
06.01.2023 14:11:24
Hannes
Es betrifft alle Blätter (also alle Monate in dem Fall), die über die Userform aufrufbar sind.
Das Problem ist halt, dass es nicht auf allen PCs so läuft, auf den meisten PCs funktioniert es, sodass ich eher an ein größeres Excel, Verweise oder ähnliches Problem vermute und weniger auf die Codes an sich
AW: Hilfe bei Excel-Fehler
06.01.2023 13:21:39
Hannes
habe ich auch schon probiert, ohne unterschied
AW: Hilfe bei Excel-Fehler
06.01.2023 14:53:50
snb
Verzichte auf:
- Select
- Activate
- Protection
- ausgeblendete Arbeitsblätter
- unerreichbare Links
- verbundene Zellen
- mehr als 1 Userform
- mehr als 2 Arbeitsblätter
- mehr als 1 algemeines Makromodul
Es scheint dass 'wie es aussieht' wichtiger ist als 'wie es funktioniert'. Wechsele diese Prioritäten.
Anzeige
AW: Hilfe bei Excel-Fehler
06.01.2023 15:05:49
Hannes
Danke für die Hinweise
die Optik ist nicht der einzige Grund für die angesprochenen Codes.
Der Hauptgrund sind die Nutzer in meiner Firma, die regelmäßig ihre Datei zerstören durch unbedachtes Vorgehen, daher habe ich versucht alle Möglichkeiten zur Änderung zu minimieren
AW: Hilfe bei Excel-Fehler
06.01.2023 15:21:55
onur
Sorry, aber der Code programmiert, als ob der Programmierer pro Wort bezahlt werden würde.
Er könnte mühelos auf maximal 10-20% des jetzigen Umfangs geschrumpft werden.
z.B. hast du immer wieder 12 fast identische Codepassagen für jedes der Monatsblätter. Oder verwendest selbst für winzige Änderungen dauernd

Application.DisplayAlerts = True bzw
Application.ScreenUpdating = True
wie manche Bauern, die rein "prophylaktisch" ihren Rindern Antibiotika geben - für alle Fälle.
Application.ScreenUpdating = True bringt nur was, wenn du mind. HUNDERTE (wenn nicht gar tausende) Zellen verändern musst. Die eine Nanosekunde kann man auch warten und sich nen Kaffee trinken.
Da ich leider Kopfschmerzen bekomme, wenn ich den Code analysieren muss, bin ich raus.
Und einen Fehler finden, der nur auf bestimmten Rechnern auftaucht, ist schwer zu finden, wenn man nicht mal weiss, was an diesen Rechnern anders ist.
Anzeige
AW: Hilfe bei Excel-Fehler
06.01.2023 15:30:15
Hannes
Hallo Onur,
danke für deine Hinweise. Ich bin halt nur absoluter Laie und deshalb sieht der Code so aus. Also nur aus Unwissenheit heraus. Ich nehme es aber gerne mit und gehe nochmal alles durch, auch für zukünftige Projekte.
Trotzdem vielen Dank
Ich weiß, dass eine Fehlersuche dadurch schwierig ist. Hatte gehofft, dass der Fehler irgendwie vielleicht bekannt ist.
AW: Hilfe bei Excel-Fehler
06.01.2023 16:04:13
Hannes
Hallo,
ich melde mich noch einmal abschließend, weil ich gerade den Fehler zufällig entdeckt habe. Bei allen betroffenen Geräten waren die Updates deaktiviert wurden durch die Kollegen und daher veraltete Versionen drauf. Scheinbar wurde der Fehler nach .Activate in einem Update entfernt.
Vielen Dank an alle für die Inputs
schönes Wochenende
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige