xlsvbah13.3

Attribute VB_Name = "mod3Antwoorden"

Option Explicit

' Opdracht 1: maak een procedure die twee getallen door elkaar deelt. Gebruik het Error object die de volgende fouten afvangt:
'             a. niet delen door 0
'             b. niet delen door tekst
'             c. niet delen door een lege waarde

Sub Antwoord1()

    On Error GoTo FoutAfhandelaar

    Dim Getal1
    Dim Getal2
    
    Getal1 = 10
    Getal2 = InputBox("Door welk getal wilt u 10 delen?")
        
    MsgBox Getal1 / Getal2
    
    Exit Sub
    
FoutAfhandelaar:
    
    Select Case Err.Number
        Case 11
            MsgBox "U kunt niet delen door 0!"
        Case 13
            If Getal2 = "" Then
                MsgBox "U heeft niets ingevuld!"
            Else
                MsgBox "U heeft een ongeldige waarde ingevuld!"
            End If
        Case Else
            MsgBox "Onbekende fout: " & Err.Description, , Err.Number
    End Select

End Sub

' Opdracht 2: maak opdracht 1 opnieuw zonder het Error object

Sub Antwoord2()

    Dim Getal1
    Dim Getal2
    
    Getal1 = 10
    
    Do
        Getal2 = InputBox("Door welk getal wilt u 10 delen?")
    Loop Until IsNumeric(Getal2)
    
    MsgBox Getal1 / Getal2

End Sub

' Opdracht 3: maak een procedure die het het werkblad "Nieuw werkblad" activeert en wanneer deze niet bestaat aanmaakt m.b.v. het Error object

Sub Antwoord3()

    On Error GoTo FoutenAfhandelaar

    Worksheets("Nieuw werkblad").Activate
    
    Exit Sub
    
FoutenAfhandelaar:

    Select Case Err.Number
        Case 9
            Worksheets.Add.Name = "Nieuw werkblad"
            Resume
    End Select

End Sub

' Opdracht 4: maak opdracht 3 opnieuw zonder het Error object

Sub Antwoord4()

    Dim w As Worksheet
    
    For Each w In ActiveWorkbook.Sheets
        If w.Name = "Nieuw werkblad" Then
            w.Activate
            Exit For
        End If
    Next w
    
    If w Is Nothing Then
        Set w = Worksheets.Add
        w.Name = "Nieuw werkblad"
    End If

End Sub

Download hier het bestand.