【发布时间】:2020-11-28 05:04:04
【问题描述】:
请看随附的屏幕截图: enter image description here
我想在工作表中添加一个按钮,单击该按钮后,它将逐行检查该行的第一列是否包含“意大利”或“西班牙”。如果是,则应将其点(旁边的单元格)设置为 0。
我想用某种循环或迭代来做(不是用一堆 If/Else If),但我不是 VBA 专家,我是自学的,老实说我不知道不知道怎么做。
感谢您的宝贵时间。
【问题讨论】:
请看随附的屏幕截图: enter image description here
我想在工作表中添加一个按钮,单击该按钮后,它将逐行检查该行的第一列是否包含“意大利”或“西班牙”。如果是,则应将其点(旁边的单元格)设置为 0。
我想用某种循环或迭代来做(不是用一堆 If/Else If),但我不是 VBA 专家,我是自学的,老实说我不知道不知道怎么做。
感谢您的宝贵时间。
【问题讨论】:
只要您知道如何转到Insert、Shapes,选择任何形状(基本矩形、圆形或其他任何形状)并将其放入您的工作表中,您就可以右键单击该形状并指定宏。
您可以将此宏粘贴到VBA宏编辑器中并保存,然后运行或按照我说的将其分配给您可以随意单击的形状。
我相信其他人可以给你一个更好的宏。这是非常基本的。并且循环值非常低效且缓慢,但它可以满足您的要求。
Sub MyFirstMacro()
Dim myCell As Range
Dim LastRow As Long
LastRow = Range("A" & Rows.Count).End(xlUp).Row
For Each myCell In Range("A1:A" & LastRow)
If IsError(myCell.Value) Then
myCell.Offset(0, 1) = "Do you know you had an error in " & myCell.Address & "???"
Else:
If myCell.Value = "Italy" Or myCell.Value = "Spain" Then
myCell.Offset(0, 1) = 0
End If
End If
Next myCell
End Sub
【讨论】: