• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

If...Then in een CASE argument

  • Onderwerp starter Onderwerp starter Thg
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Thg

Gebruiker
Lid geworden
9 jul 2010
Berichten
21
Hallo,

Ik probeer onderstaande code te laten werken:
Code:
    Select Case Sheets(Hoofdblad).Range(DI)
        Case Is > 15
            Sheets(Hoofdblad).Select
            If Range(a1).Value = 5 Then
            MsgBox ("Niet meer dan 15 DI's mogelijk op een ATS!")
            
            Else
            'Relevante pagina's zichtbaar maken
            Sheets(InbraakZichtbaar).Select
            Rows(Pagina5).Select
            Selection.EntireRow.Hidden = False

Maar het 'If...Then' argument wordt gewoon genegeerd. In cel A1 kan ik 5 zetten of iets anders maar Excel / VBA doet er niets mee en begint gelijkt met de instructies bij Else.


Kunnen jullie zie waar dat aan ligt?
Bedankt,
Thg
 
Laatst bewerkt:
Doe je bestandje er eens bij.
Je gebruikt nergens dubbele quotes voor je bladen en bereiken/cellen.
 
Ik doe het even zo als je het niet erg vindt, Het bestandje is nogal vol:

Code:
'Werkbladen
'-----------------------------------------------------------------------
Const Hoofdblad As String = "Voorblad"
Const InbraakZichtbaar As String = "Inbraak"

'Bereiken Voorblad
'-----------------------------------------------------------------------
Const Keuze As String = "C11"
Const Keuze2 As String = "C12"
Const Keuze3 As String = "C13"
Const DI As String = "F12"

'Bereiken Inbraak
'-----------------------------------------------------------------------
Const Start As String = "G11"
Const Pagina2 As String = "88:173"
Const Pagina3 As String = "174:259"
Const Pagina4 As String = "260:345"
Const Pagina5 As String = "346:431"
Const Pagina6 As String = "432:517"
Const Pagina7 As String = "518:603"
Const Pagina8 As String = "604:689"
Const Pagina9 As String = "690:775"

'Macro tbv zichtbaar maken aantal Di's danwel RIO's
Sub DiZichtbaar_byChange()
Dim Waarde As Byte

'Informatiebox
Waarde = MsgBox("Weet u het zeker?" & vbCrLf & "Bestand wordt leeggemaakt!", vbOKCancel, "Let op!!")

'Wanneer OK wordt gekozen
If Waarde = 1 Then

'(...)

        Case Is > 15
            Sheets(Hoofdblad).Select
            If Range("a1").Value = 5 Then
            MsgBox ("Niet meer dan 15 DI's mogelijk op een ATS!")
            
            Else
            'Relevante pagina's zichtbaar maken
            Sheets(InbraakZichtbaar).Select
            Rows(Pagina5).Select
            Selection.EntireRow.Hidden = False
            
            'Niet relevante pagina's verbergen
            Rows(Pagina6).Select
            Selection.EntireRow.Hidden = True
            Rows(Pagina7).Select
            Selection.EntireRow.Hidden = True
            Rows(Pagina8).Select
            Selection.EntireRow.Hidden = True
            Rows(Pagina9).Select
            Selection.EntireRow.Hidden = True
   
            'Start cel selecteren
            Range(Start).Activate
    
            'Voorblad selecteren
            Sheets(Hoofdblad).Select
            Range(Keuze3).Activate
            End If

Je had gelijk v.w.b. de range a1. Dit heb ik inmiddels verbeterd, maar ook dat werkt helaas niet. Het gedeelte van de rijen verbergen e.d. werkt prima, alleen die MsgBox krijg ik er niet tussen :confused:

Bedankt
Thg
 
Moest even weg met moeders de vrouw. ;)

Probeer het zo eens.
Eigenlijk zou je eerst alle verborgen rijen weer zichtbaar moeten maken, maar daar kom je denk ik dan wel uit.

Code:
Option Explicit

'Werkbladen
'-----------------------------------------------------------------------
Const Hoofdblad As String = "Voorblad"
Const InbraakZichtbaar As String = "Inbraak"

'Bereiken Voorblad
'-----------------------------------------------------------------------
Const Keuze As String = "C11"
Const Keuze2 As String = "C12"
Const Keuze3 As String = "C13"
Const DI As String = "F12"

'Bereiken Inbraak
'-----------------------------------------------------------------------
Const Start As String = "G11"
Const Pagina2 As String = "88:173"
Const Pagina3 As String = "174:259"
Const Pagina4 As String = "260:345"
Const Pagina5 As String = "346:431"
Const Pagina6 As String = "432:517"
Const Pagina7 As String = "518:603"
Const Pagina8 As String = "604:689"
Const Pagina9 As String = "690:775"

'Macro tbv zichtbaar maken aantal Di's danwel RIO's
Sub DiZichtbaar_byChange()
Dim Waarde As Byte

'Informatiebox
Waarde = MsgBox("Weet u het zeker?" & vbCrLf & "Bestand wordt leeggemaakt!", vbOKCancel, "Let op!!")

'Wanneer OK wordt gekozen
If Waarde = 1 Then

'(...)
Select Case Sheets(Hoofdblad).Range(DI)

        Case Is > 15
            Sheets(Hoofdblad).Select
            If Range("a1").Value = 5 Then
            MsgBox ("Niet meer dan 15 DI's mogelijk op een ATS!")
            
            Else
            'Relevante pagina's zichtbaar maken
           With Sheets(InbraakZichtbaar)
            .Activate
            .Rows(Pagina5).EntireRow.Hidden = False
            
            'Niet relevante pagina's verbergen
            .Rows(Pagina6).EntireRow.Hidden = True
            .Rows(Pagina7).EntireRow.Hidden = True
            .Rows(Pagina8).EntireRow.Hidden = True
            .Rows(Pagina9).EntireRow.Hidden = True
     
            'Start cel selecteren
            .Range(Start).Select
           End With
   End If
            'Voorblad selecteren
            Sheets(Hoofdblad).Select
            Range(Keuze3).Activate   
         End Select
      End If
   End Sub
 
Bedankt voor je reactie. Ik ga het maandag even proberen, mn werkdocumentje staat op de pc van de zaak.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan