Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column <> 1 Or ActiveCell.Column > 1 Then
Else
If ActiveCell.Value = "陕西" Then
ActiveCell.Offset(, 3).Value = "西安"
End If
End If
End Sub
为什么输入陕西之后,为什么还要点击此输入框,才能弹出来西安
哪一个事件才能做到同步呢?有没有change事件
Excel中VBA为什么我要点击一次才能刷新出来值
答案:2 悬赏:10 手机版
解决时间 2021-01-26 10:36
- 提问者网友:末路
- 2021-01-25 18:15
最佳答案
- 五星知识达人网友:末日狂欢
- 2021-01-25 18:26
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then
If Target.Value = "陕西" Then
Cells(Target.Row, Target.Column + 3) = "西安"
End If
End If
End Sub
If Target.Column > 1 Then
If Target.Value = "陕西" Then
Cells(Target.Row, Target.Column + 3) = "西安"
End If
End If
End Sub
全部回答
- 1楼网友:一把行者刀
- 2021-01-25 19:41
上面清除数据 是 清除的 range("a7:w60000,b6,d6,f6,b2:d2,f2:h2"), 这里面不包含 u6这个单元格,
循环条件:do until cells(i, "u") = empty
第一次 i=6,单元格 u6 我们不知道是什么内容,如果不为空,则继续运行——第二次当i=7时,数据是空的,那么循环跳出,不再运行。
你是想表达 只要 cells(i, "u") 为空就继续运行么? 那么 要改为 do while 循环
但这样,你要保证u列下面的单元格中不是全空的,不然 程序将对所有行进行处理,直到行数达到最大,这有可能出错 或 造成程序假死。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯