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

Aanpassen VBA code

Status
Niet open voor verdere reacties.

marcel31281

Gebruiker
Lid geworden
30 okt 2015
Berichten
391
Onderstaande code zorgt ervoor dat op het rapport bij selecteren van de cel een vinkje komt te staan.
Nu zou ik deze code willen uitbreiden dat ik bij selecteren van de cel de tekst N/A te zien krijg, bij opnieuw selecteren van de cel zou het vinje terug moeten komen


Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("G13:G33")) Is Nothing _
And Target.Cells.Count = 1 Then
If Target.Value = "" Then
With Target.Font
.Name = "Wingdings"
.Size = 18
End With
Target.Value = "ü"
Else
Target.Value = ""
End If
End If
 
Ik weet niet of dit zo goed is, ben geen VBA specialist.
Kan zijn dat ik het niet goed begrepen heb.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("G13:G33")) Is Nothing _
  And Target.Cells.Count = 1 Then
    If Target.Value = "" Then
      With Target.Font
        .Name = "Times New Roman"
        .Size = 18
        Target.Value = "N/A"
      End With
      Exit Sub
    End If
   
    If Target.Value = "N/A" Then
      With Target.Font
        .Name = "Wingdings"
        .Size = 18
        Target.Value = "ü"
      End With
    End If
  End If
End Sub
 
Laatst bewerkt:
Bedankt dit komt zeker in de buurt van wat ik zoek.

Echter moet ik nog steeds handmatig de waarde deleten om te kunnen wisselen
 
Probeer deze maar eens. Let ook op je inspringpunten voor de leesbaarheid.
Code:
    If Not Intersect(Target, Range("G13:G33")) Is Nothing And Target.Cells.Count = 1 Then
        Application.ScreenUpdating = False
        If Target.Value = "N/A" Then
            With Target.Font
                .Name = "Wingdings"
                .Size = 18
                Target.Value = "ü"
            End With
        Else
            With Target.Font
                .Name = "Arial"
                .Size = 10
                .Bold = True
                 Target.Value = "N/A"
            End With
        End If
        Application.ScreenUpdating = True
        Exit Sub
    End If
 
Dit is misschien beter?
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("G13:G33")) Is Nothing _
  And Target.Cells.Count = 1 Then
    If Target.Value = "ü" Then
      With Target.Font
        .Name = "Times New Roman"
        .Size = 18
        Target.Value = "N/A"
      End With
      Exit Sub
    End If
   
    If Target.Value = "N/A" Then
      With Target.Font
        .Name = "Wingdings"
        .Size = 18
        Target.Value = "ü"
      End With
    End If
  End If
End Sub
 
SUPER bedankt, dit was inderdaad wat ik zocht.:thumb:

Ga eens op mijn gemak uitpluizen wat ik zelf verkeerd heb gedaan al die tijd
 
deze maakt ook weer leeg

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("G13:G33")) Is Nothing And Target.Cells.Count = 1 Then
waarde = Array("", "n/a", "ü")
With Target

For i = 0 To UBound(waarde)
If .Value = waarde(i) Then
Select Case i
 Case 0
  .Value = "n/a"
  .Font.Name = "Arial"
  Exit For
  
 Case 1
  .Value = ""
  .Font.Name = "Wingdings"
  .Value = "ü"
 Exit For
 
 Case 2
  .Value = ""
  .Font.Name = "Arial"
  Exit For
  
End Select
End If
Next

End With
End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan