Hoe controleer ik of een werkmap geopend is via vba?
Om te controleren of een werkmap open is met behulp van een VBA-code, moet u FOR EACH- lus gebruiken, die door alle werkmappen kan lopen die op dat moment open zijn en de naam van elke werkmap controleren met de naam die u noemde. U kunt een berichtvenster gebruiken om het resultaat van de lus te verkrijgen. Of u kunt ook de code uitvoeren om het resultaat in een cel in te voeren.
Controleer of een WERKBOEK GEOPEND is
- Eerst moet u de variabelen declareren die u in de code wilt gebruiken om een lus te maken.
- Gebruik een invoervak om de naam op te halen van de werkmap waarnaar u wilt zoeken.
- Start de lus om alle geopende werkmappen te doorlopen.
- Schrijf code met IF STATEMENT om de naam van de werkmap te controleren met de naam die u in het invoervak hebt ingevoerd. Zodra de naam overeenkomt, wordt de werkmap geactiveerd, wordt een berichtvenster weergegeven waarin staat dat de werkmap is gevonden en wordt de procedure afgesloten.
- Voltooi aan het einde de lus en gebruik een berichtvenster om een berichtvenster weer te geven als er niets is gevonden.
Handige links: Een macro uitvoeren – Macrorecorder – Visual Basic Editor – Handboek voor persoonlijke macro’s
Hier is de volledige code.
Sub vba_check_workbook() Dim WB As Workbook Dim myWB As String myWB = InputBox(Prompt:="Enter the workbook name.") For Each WB In Workbooks If WB.Name = myWB Then WB.Activate MsgBox "Workbook Found!" Exit Sub End If Next WB MsgBox "Not Found" End Sub