Kijken of cel in een bereik ligt

Status
Niet open voor verdere reacties.

Hamadryas

Gebruiker
Lid geworden
21 jun 2019
Berichten
24
Dag allemaal

Ik heb in excel een programmatje dat uitgevoerd wordt wanneer ik dubbel klik op een cel.
Als ik dubbel klik veranderd het lettertype en de letter in de cel.
Ik zou graag hebben dat dit enkel uitgevoerd wordt wanneer ik binnen een bepaald bereik klik (vast A15:F22)
Is het mogelijk om dit te voor elkaar te krijgen?
Hieronder alvast het programmatje zoals het nu werkt.

Alvast bednakt!

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Rng = ActiveCell.Address
   If Range(Rng) = "c" Then
        Range(Rng) = "R"
        With Selection.Font
             .Name = "Wingdings 2"
             .Size = 18
             .Strikethrough = False
             .Superscript = False
             .Subscript = False
             .OutlineFont = False
             .Shadow = False
             .Underline = xlUnderlineStyleNone
             .ColorIndex = xlAutomatic
             .TintAndShade = 0
             .ThemeFont = xlThemeFontNone
         End With
         Exit Sub
    End If
   If Range(Rng) = "R" Then Range(Rng) = "c"
   With Selection.Font
        .Name = "Webdings"
        .Size = 14
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    End If
End Sub
 
Doe het eens zo:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim fnt As String
    Dim ltr As String
    Dim siz As Byte
    
    If Not Intersect(Target, Range("A15:F22")) Is Nothing Then
        Select Case Target.Value
            Case "c":   ltr = "R":  fnt = "Wingdings 2":    siz = 18
            Case "R":   ltr = "c":  fnt = "Webdings":       siz = 14
        End Select
        
        Target.Value = ltr
        With Target.Font
             .Name = fnt
             .Size = siz
         End With
        Cancel = True
    End If
End Sub
 
Laatst bewerkt:
Als je geen Option Explicit gebruikt mogen die 3 regels met Dim ook weg.
 
Of:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Range("A15:F22")) Is Nothing Then
    Target = IIf(Target = "R", "C", "R")
    Target.Font.Name = IIf(Target = "C", "Webdings", "Wingdings")
    Target.Font.Size = 14 - 4 * (Target = "R")
    Cancel = True
  End If
End Sub

Of gebruik stijlen:

Code:
Sub M_snb()
  With ThisWorkbook.Styles.Add("R")
    .Font.Name = "webdings"
    .Font.Size = 18
  End With
  
    With ThisWorkbook.Styles.Add("C")
    .Font.Name = "wingdings 2"
    .Font.Size = 14
  End With
End Sub
en
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A15:F22")) Is Nothing Then
        Target = IIf(Target = "R", "C", "R")
        Target.Style = Target
        Cancel = True
    End If
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan