• 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.

VBA vraag; 2 userforms afhankelijk plaats van klik

Status
Niet open voor verdere reacties.

Efsix

Gebruiker
Lid geworden
14 jan 2007
Berichten
181
Beste Excellers.

Ik wil graag in een werkblad, afhankelijk van de plaats waar ik klik een userform laten opkomen.
Bij een enkele lukt dat prima, maar wanner ik 2 aparte ranges maak klopt het niet meer.
kan iemand mij helpen?

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("G10:G12"), Target) Is Nothing Then
        Userform1.Show
    Else: Userform1.Hide
    
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("B210:B12"), Target) Is Nothing Then
        Userform2.Show
    Else: Userform2.Hide
    End If
    
End Sub
 
hoi Efsix

ik mis een end if

ook na een else moet nog een end if

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("G10:G12"), Target) Is Nothing Then
        Userform1.Show
    Else: Userform1.Hide
    end if
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("B210:B12"), Target) Is Nothing Then
        Userform2.Show
    Else: Userform2.Hide
    End If
    
End Sub
 
hoi Efsix

ik mis een end if

ook na een else moet nog een end if
op een éénlijnige if (If Target.Cells.Count > 1 Then Exit Sub) hoeft dat jammer genoeg niet

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("G10:G12"), Target) Is Nothing Then
        Userform1.Show
    Else: Userform1.Hide
    end if
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("B210:B12"), Target) Is Nothing Then
        Userform2.Show
    Else: Userform2.Hide
    End If
    
End Sub
 
hoi Efsix

ik mis een end if

ook na een else moet nog een end if
op een éénlijnige if (If Target.Cells.Count > 1 Then Exit Sub) hoeft dat jammer genoeg niet

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("G10:G12"), Target) Is Nothing Then
        Userform1.Show
    Else: Userform1.Hide
    end if
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("B210:B12"), Target) Is Nothing Then
        Userform2.Show
    Else: Userform2.Hide
    End If
    
End Sub

Hoi Sylvester,
Beadankt voor het mee denken, maar helaas is dat niet de oplossing.

groeten, Romé
 
Afgezien dat de code wat korter kan, zit er m.i. een typefoutje in het bereik:;)

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("G10:G12"), Target) Is Nothing Then
        Userform1.Show
    Else: Userform1.Hide
    
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("B[B][COLOR="Red"]2[/COLOR][/B]10:B12"), Target) Is Nothing Then
        Userform2.Show
    Else: Userform2.Hide
    End If
    
End Sub

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Afgezien dat de code wat korter kan, zit er m.i. een typefoutje in het bereik:;)

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("G10:G12"), Target) Is Nothing Then
        Userform1.Show
    Else: Userform1.Hide
    
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("B[B][COLOR="Red"]2[/COLOR][/B]10:B12"), Target) Is Nothing Then
        Userform2.Show
    Else: Userform2.Hide
    End If
    
End Sub

Met vriendelijke groet,


Roncancio

Hallo Ronancio,

Bedankt. inderdaad er zat een foutje in.
Ik heb een nieuw werkblad gemaakt met twee 'kale' Userforms. Het werkt zoals ik wilde.

Waar ik mee bezig ben echter gaat nog niet goed, dus ik vrees dat mijn probleem zich thans ergens anders bevind. namelijk in de Userforms zelf. Dat ga ik morgen eerst uitzoeken.

groeten, Romé
 
Hallo Ronancio,

Bedankt. inderdaad er zat een foutje in.
Ik heb een nieuw werkblad gemaakt met twee 'kale' Userforms. Het werkt zoals ik wilde.

Waar ik mee bezig ben echter gaat nog niet goed, dus ik vrees dat mijn probleem zich thans ergens anders bevind. namelijk in de Userforms zelf. Dat ga ik morgen eerst uitzoeken.

groeten, Romé

Welk probleem?
De code kan korter maar wellicht moet de code herschreven worden als duidelijk is wat je met het programma wilt doen.

Met vriendelijke groet,


Roncancio
 
Welk probleem?
De code kan korter maar wellicht moet de code herschreven worden als duidelijk is wat je met het programma wilt doen.

Met vriendelijke groet,


Roncancio

Ik heb er vannacht nog eens diep over nagedacht.
Het probleem iets anders ingestoken en het resultaat is gehaald.
mocht je nieuwsgierig zijn . . hier is mijn bijlage.

groeten, Romé
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan