【问题标题】:Using a checkmark to add value to a cell使用复选标记向单元格添加值
【发布时间】:2020-10-02 14:49:21
【问题描述】:

我正在尝试创建一个用于向字段添加文本的宏 当我单击复选标记以将特定文本添加到案例时,我想要 我有 8 个复选框,每个复选框都会在同一个案例中添加不同的文本 现在我的代码是这样的

Private Sub CheckBox1_Click()
If Me.CheckBox1.Value = True Then
    Range("A56").Value = "Test"
    
Else
    Range("A56").Value = " "
    End If
End Sub

问题是如果我选中 2 复选标记,它总是替换文本,我希望它添加文本而不是替换它。而且当我取消选中复选标记时,它会删除案例中的所有内容

我需要它的原因是为了节省时间,而不必每次都手动编写它们

我对 excel 编码非常陌生,我很感激你们能给我的任何帮助 非常感谢您的宝贵时间

【问题讨论】:

  • Range("A56").value = Range("A56").value & " Text"
  • 这正是我添加文本所需要的,所以当我取消选中复选标记时只剩下一个问题,它完全清除该行以任何方式 rpevent 吗?

标签: excel vba text add checkmark


【解决方案1】:

所以第一部分:

Range("A56").value = Range("A56").value & " Text"

我假设真实条目比“测试”更重要,否则您可能会得到一些误报,但这应该很好用:


Private Sub CheckBox1_Click()
    With Sheet1 'Change this to the proper sheet codename
        If Me.CheckBox1.Value = True Then
            .Cells(56, 1).Value = .Cells(56, 1).Value & " Testing"
        Else
            If InStr(1, .Cells(56, 1).Value, " Testing") Then
                Dim splitarr As Variant
                splitarr = Split(.Cells(56, 1).Value, " Testing")
                Dim element As Variant
                .Cells(56, 1).Value = ""
                For Each element In splitarr
                    .Cells(56, 1).Value = .Cells(56, 1).Value & element
                Next element
            End If
        End If
    End With
End Sub

您可能希望将输入或删除的字符串设为变量,以便更容易更改。

【讨论】:

    猜你喜欢
    • 2018-07-18
    • 1970-01-01
    • 2013-03-09
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    相关资源
    最近更新 更多