我想写一个应用于1000
行的Excel代码。在每一行中,一旦我将列G
中的单元格值更改为No
,相应的行(即列H-Z
)将自动填充X
。
我试着写下面的代码,但它并不总是工作,只是偶尔出现,有人能帮助我吗?
Private Sub Worksheet_Change(ByVal Target As Range)
'MsgBox Target.Address
If Not Application.Intersect(Range("B1:B100"), Range(Target.Address)) Is Nothing Then
Call Change_value
End If
End Sub
Sub Change_value()
If ActiveCell.Value = "No" Then
Cells(ActiveCell.Row, 4).Value = "Ok"
End If
End Sub
字符串
1条答案
按热度按时间vxqlmq5t1#
你的问题出在这里:
这是矛盾的。
你说你希望代码应用于“Excel中的1000行”,但你的代码只引用了100行(“B1:B100”)
你说你想让它在“G列”中的单元格发生变化时触发sub--但你的代码引用的是B列
您的代码应该格式化为代码-我的意思是,当您输入您的问题,您突出显示所有的代码,并选择{}将其标记为代码
我给你给予个解决办法。
当任务像下面这样简单时,你不需要从Private Sub中调用一个sub。假设你的意思是列G和1000行,这应该对你有用:
字符串