Vba: controleer of de werkmap geopend is (met voorbeeld)


U kunt de volgende syntaxis in VBA gebruiken om te controleren of een bepaalde werkmap momenteel geopend is.

 SubCheckWorkbookOpen ()

Dim resultCheck As Boolean
Dim wb As Workbook
Dim specific_wb As String
    
On Error Resume Next
specific_wb = InputBox("Check if this workbook is open:")
    
Set wb = Application.Workbooks.Item(specific_wb)
resultCheck = Not wb Is Nothing

If resultCheck Then
    MsgBox “Workbook is open”
Else
MsgBox “Workbook is not open”
End If
    
End Sub

Wanneer deze macro wordt uitgevoerd, verschijnt er een invoervak waarin een gebruiker de naam van een Excel-werkmap kan typen. De macro produceert een berichtvenster met een van de volgende resultaten:

  • “Het bestand is geopend”
  • “Het bestand is niet geopend”

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: controleren of de werkmap open is met VBA

Stel dat we momenteel twee werkmappen hebben geopend met de volgende namen:

  • mijn_werkboek1.xlsx
  • mijn_werkboek2.xlsx

Stel dat we willen controleren of de werkmap met de naam my_workbook1.xlsx momenteel geopend is.

We kunnen hiervoor de volgende macro maken:

 SubCheckWorkbookOpen ()

Dim resultCheck As Boolean
Dim wb As Workbook
Dim specific_wb As String
    
On Error Resume Next
specific_wb = InputBox("Check if this workbook is open:")
    
Set wb = Application.Workbooks.Item(specific_wb)
resultCheck = Not wb Is Nothing

If resultCheck Then
    MsgBox “Workbook is open”
Else
MsgBox “Workbook is not open”
End If
    
End Sub

Zodra we deze macro uitvoeren, verschijnt er een vak waarin ik my_workbook1.xlsx in het invoervak kan typen:

Zodra ik op OK klik, geeft de macro het volgende berichtvenster weer:

De macro geeft correct „Werkmap is open“ weer om aan te geven dat een werkmap met die naam momenteel geopend is.

Stel nu dat ik de naam heb getypt van een werkmap die momenteel niet is geopend:

Zodra ik op OK klik, geeft de macro het volgende berichtvenster weer:

De macro geeft correct „Werkmap is niet open“ weer om aan te geven dat een werkmap met die naam momenteel niet geopend is.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:

VBA: het aantal vellen in een werkmap tellen
VBA: hoe u meerdere kolommen invoegt
VBA: hoe u meerdere regels invoegt

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert