代码之家  ›  专栏  ›  技术社区  ›  jkp

特殊字符复选标记

  •  0
  • jkp  · 技术社区  · 6 月前

    我发现了一个宏,它用特定的字母替换字母,用指定范围内的另一个字母替换数字。

    Public Const Letters                As String = "abcdefghijklmnopqrstuvwxyz"
    Public Const Numbers                As String = "0123456789"
    Public Const FoundLetter            As String = "L"
    Public Const FoundNumber            As String = "N"
    

    它工作得很好,但我想使用复选标记(ChrW(&H2713))而不是字母。那么,我应该写什么而不是: As String = "L" ?

    3 回复  |  直到 6 月前
        1
  •  2
  •   braX    6 月前

    你可以创建一个函数,并像常量一样使用它。

    Function CheckMark() As String
      CheckMark = ChrW(&H2713)
    End Function
    
    Sub Test()
      Range("A1") = CheckMark
    End Sub
    
        2
  •  1
  •   Dhruv Shridhar    6 月前

    您可以使用ChrW(&H2713)在VBA代码中直接使用Unicode复选标记字符()。但是,由于Public Const不支持像ChrW()这样的函数调用,您需要使用实际字符将其定义为常量字符串。将“L”替换为“”。

    • 对于信件

    公共Const FoundLetter字符串=“”

    • 对于数字

    公共Const FoundNumber为字符串=“”

    每当发现字母或数字时,它都会被复选标记替换。

        3
  •  0
  •   taller    6 月前

    使用a Sub 为公共变量赋值。

    Public FoundLetter As String
    
    Sub Init_Var()
        FoundLetter = ChrW(&H2713)
    End Sub
    
    Sub ReplaceNumber()
        Call Init_Var
        ' Replace digit 9 with check mark
        Sheet1.UsedRange.Replace what:="9", Replacement:=FoundLetter, lookat:=xlPart
    End Sub