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

Forumthread: VBA Fenster öffnet sich

VBA Fenster öffnet sich
03.02.2017 09:48:24
Siggi
Hallo, der u.a. Code macht nicht das was ich will:
1. Er soll mir das hin und her laufen von Zelle zu Zelle nicht anzeigen während das Makro läuft (visible = False) -- macht er aber trotzdem. Warum?
2. Am Ende des Makros öffnet er immer das VBA Fenster (den VBA Editor). Warum?
Ansonsten läuft es perfekt.
Wäre schön wenn Jemand mal rüberschauen könnte. Danke im Voraus.
Hier der Code:

Sub Baureihe_Name()
Dim z As Integer 'maximalZeilen
Range("V4").Select
z = ActiveCell.Value
Application.VBE.MainWindow.Visible = False
Range("C4").Select
For i = 1 To z
If ActiveCell.Value = "" Then
ActiveCell.Offset(-1, 0).Select
x = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = x
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Next i
' SALACK Name benennen
Range("B4").Select
For i = 1 To z
ActiveCell.FormulaLocal = "=Z(0)S(1)& Z(0) S(3)"
ActiveCell.Offset(1, 0).Select
Next i
Application.VBE.MainWindow.Visible = True
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Fenster öffnet sich
03.02.2017 10:08:23
ransi
Hallo Siggi,

1. Er soll mir das hin und her laufen von Zelle zu Zelle nicht anzeigen während das Makro läuft

Schau mal hier:
http://www.online-excel.de/excel/singsel_vba.php?f=78
2. Am Ende des Makros öffnet er immer das VBA Fenster (den VBA Editor). Warum?
Na weil du es so willst:
Application.VBE.MainWindow.Visible = True
ransi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA-Fenster öffnet sich immer – Lösungen und Tipps


Schritt-für-Schritt-Anleitung

Um das Problem zu beheben, dass das VBA-Fenster sich öffnet, kannst du folgende Schritte befolgen:

  1. Makro öffnen: Öffne den VBA-Editor (ALT + F11).
  2. Code anpassen: Suche den entsprechenden Code, der das Fenster öffnet. Der relevante Abschnitt sieht folgendermaßen aus:
    Application.VBE.MainWindow.Visible = True

    Ändere True in False, um das Fenster zu verbergen:

    Application.VBE.MainWindow.Visible = False
  3. Makro ausführen: Führe das Makro erneut aus, um zu prüfen, ob das VBA-Fenster nicht mehr automatisch geöffnet wird.

Häufige Fehler und Lösungen

  • Excel öffnet immer 2 Fenster: Wenn das Fenster sich mehrmals öffnet, könnte es daran liegen, dass das Makro mehrmals aufgerufen wird. Überprüfe, ob du das Makro nicht versehentlich mehrfach ausführst.

  • Hin- und Herlaufen von Zelle zu Zelle sichtbar: Um die Sichtbarkeit während des Makros auszublenden, kannst du Application.ScreenUpdating = False am Anfang des Makros hinzufügen:

    Application.ScreenUpdating = False

    Vergiss nicht, es am Ende des Makros wieder auf True zu setzen.


Alternative Methoden

Falls du das Problem nicht mit den oben genannten Lösungen beheben kannst, gibt es alternative Ansätze:

  • Verwende ein Formular: Statt das VBA-Fenster zu verwenden, kannst du ein UserForm erstellen, das die gewünschten Informationen anzeigt, ohne das Hauptfenster zu stören.

  • Debug.Print verwenden: Anstelle von MsgBoxen kannst du Debug.Print verwenden, um Informationen im Direktfenster anzuzeigen, ohne das VBA-Fenster zu öffnen.


Praktische Beispiele

Hier ist ein Beispiel, wie du das Makro so anpassen kannst, dass das VBA-Fenster nicht mehr geöffnet wird:

Sub Baureihe_Name()
    Dim z As Integer
    Range("V4").Select
    z = ActiveCell.Value
    Application.ScreenUpdating = False
    Application.VBE.MainWindow.Visible = False  ' Fenster verbergen
    Range("C4").Select
    For i = 1 To z
        If ActiveCell.Value = "" Then
            ActiveCell.Offset(-1, 0).Select
            x = ActiveCell.Value
            ActiveCell.Offset(1, 0).Select
            ActiveCell.Value = x
            ActiveCell.Offset(1, 0).Select
        Else
            ActiveCell.Offset(1, 0).Select
        End If
    Next i
    Range("B4").Select
    For i = 1 To z
        ActiveCell.FormulaLocal = "=Z(0)S(1)&Z(0)S(3)"
        ActiveCell.Offset(1, 0).Select
    Next i
    Application.ScreenUpdating = True
End Sub

Tipps für Profis

  • Code sauber halten: Achte darauf, den Code regelmäßig zu überprüfen und nicht benötigte Zeilen zu entfernen. Das sorgt für bessere Lesbarkeit und weniger Fehler.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um das Makro robust zu machen. Beispiel:

    On Error GoTo ErrorHandler
    ' Dein Code hier
    Exit Sub
    ErrorHandler:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Warum öffnet sich das VBA-Fenster am Ende des Makros?
Das Fenster öffnet sich, weil im Code Application.VBE.MainWindow.Visible = True steht. Ändere dies in False, um das Fenster zu verbergen.

2. Wie kann ich die Sichtbarkeit der Zellen während der Ausführung des Makros verhindern?
Setze Application.ScreenUpdating = False am Anfang des Makros und Application.ScreenUpdating = True am Ende, um die Sichtbarkeit der Zellen zu steuern.

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