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

kolom 1 selecteren , kolom 2 deselecteren en omgekeerd

Status
Niet open voor verdere reacties.

popipipo

Meubilair
Lid geworden
21 nov 2006
Berichten
9.098
Besturingssysteem
Win11
Office versie
Office 365
Met dit invul formulier bepaal ik welk fruit er onderzocht moet worden.

In werkelijkheid gaat het wel om meer dan 40 kolommen (maar dan niet om fruit)
Dubbel klikken in rij 2 selecteert / deselecteert een kolom.
Voor 'appels', 'bananen' en 'citroenen' gaat alles zoals het hoort.

Bij de 'druiven' ligt het probleem
Hoe pas ik het VBA zo aan dat niet zowel 'met pit' als 'zonder pit' geselecteerd kan worden.
Beide gedeselecteert moet wel kunnen.

Dus dus dmv dubbelklikken in rij 2 'zonder pit' te selecteren moet 'met pit' automatisch gedeselecteert worden. En omgekeerd.
De werking van 'appels', 'bananen' en 'citroenen' mag hierdoor niet wijzigen.
 

Bijlagen

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("G2:N2")) Is Nothing Then
        Cancel = True
        Target.Value = IIf(Target.Value = Chr(253), Chr(254), Chr(253))
        Target.Font.Color = IIf(Target.Value = Chr(253), 255, 5296274)
        Target.Offset(2).Resize(30) = IIf(Target.Value = Chr(253), "-", "")
 
       If Target.Column >12 Then
          With Target.Offset(, IIf(Target.Column = 13, 1, -1))
            .Value = IIf(Target.Value = Chr(253), Chr(254), Chr(253))
            .Font.Color = IIf(.Value = Chr(253), 255, 5296274)
            .Offset(2).Resize(30) = IIf(.Value = Chr(253), "-", "")
          End With
      End If
    End If
    
 End Sub
 
Laatst bewerkt:
Werkt bijna zoals ik het wil:

Beide gedeselecteert moet wel kunnen.
Dit gaat helaas nog niet.
 
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("G2:N2")) Is Nothing Then
        Cancel = True
        Target.Value = IIf(Target.Value = Chr(253), Chr(254), Chr(253))
        Target.Font.Color = IIf(Target.Value = Chr(253), 255, 5296274)
        Target.Offset(2).Resize(30) = IIf(Target.Value = Chr(253), "-", "")
        
        If Target.Column = 13 Or Target.Column = 14 Then
            With Target.Offset(, IIf(Target.Column = 13, 1, -1))
                .Value = Chr(253)
                .Font.Color = 255
                .Offset(2).Resize(30) = "-"
            End With
        End If
    End If
End Sub
 
De eerste testen zijn OK
Ik heb originele bestand even niet ter beschikking.
Als het na omzetting niet lukt kom ik er op terug
Voorlopig bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan