如果单元格碰巧是非连续范围的一部分,则通过excel vba更改单元格的值

分店75

我有七个单元格“ N13”,“ D17”,“ H17”,“ L17”,“ P17”,“ T17”和“ X17”。那都是空的。我有几个形状将附加宏。我需要帮助编写的宏应该检查一下当前选定的单元格是否属于该七个单元格范围。如果它是七个单元格范围的一部分,则附加到图形的宏将简单地在该单元格中放置一个数字。因此,例如:我选择了单元格L17,它处于活动状态,我单击正方形,它将单元格L17的值更改为4。(形状的边数。)如果我选择了单元格M17,然后单击正方形形状它不会将4加到单元格上,它什么也不做。发生这种情况的工作表称为“主”。我尝试了一组嵌套的OR语句,但这没有

Sub Three_Side()
' Three_Side Macro

    Sheets("Main").Select
    If (ActiveCell.Row = 13 And ActiveCell.Column = 14) Or _
        (ActiveCell.Row = 17 And ActiveCell.Column = 4) Or _
        (ActiveCell.Row = 17 And ActiveCell.Column = 8) Or _
        (ActiveCell.Row = 17 And ActiveCell.Column = 12) Or _
        (ActiveCell.Row = 17 And ActiveCell.Column = 16) Or _
        (ActiveCell.Row = 17 And ActiveCell.Column = 20) Or _
        (ActiveCell.Row = 17 And ActiveCell.Column = 24) Then
        ActiveCell = 3
        Range("AD1") = Range("AD1") + 3
    End If

End Sub
大本钟

您与的合作关系正确Intersect

Dim checkRng as Range
Set checkRng = Intersect(ActiveCell, Range("N13,D17,H17,L17,P17,T17,X17"))

If Not checkRng is Nothing Then
    ActiveCell.Value = 3
    Range("AD1").Value = Range("AD1").Value + 3
End If

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Excel VBA - 通过另一个单元格更改单元格值?

如何在Excel的VBA中仅匹配单元格值的一部分而不是完全匹配?

在Excel VBA中使用单元格值(文本)作为公式的一部分

减去单元格的一部分

NumberFormat不会更改VBA Excel中的单元格值

在单元格的一部分中更改特定字符

将单元格的一部分更改为粗体

更改Excel Forumla的一部分以包含来自另一个单元格的数据

Excel VBA基于包含一部分文本的单元格值删除行

Excel网格线是单元格的一部分还是多余的空间?

VB Excel中替换单元格循环中的单词的一部分

使用单元格中的值作为图纸参考的一部分

将单元格的值用作宏的一部分

Excel VBA根据另一个单元格的值逐行更改单元格的值

VBA Excel 宏另存为带有日期的单元格的一部分

Excel-根据另一个单元格的一部分计算特定值

VBA-更改具有多个单元格值的其他单元格

VBA-在多个合并的单元格中从/单击是/否时更改单元格值

VBA-更改合并单元格的“是” /“否”时单击的单元格值

vba-根据数字格式更改单元格的值

VBA在插入时更改单元格值

在 VBA 中更改单元格值循环

VBA:更改Excel单元格宽度

Excel VBA在单元格A中放置一个值,单元格B将自动更改

VBA Excel单元格值是“ not” NULL

Excel VBA / 如果单元格的值与参考单元格中的值不符,则删除单元格

Microsoft Excel更改单元格值

计算连续单元格值,如果单元格值更改,则重置计数

如何在Excel表单元格中更改值而不在VBA中指定单元格引用