中易网

excel VBA数据刷新的代码问题

答案:3  悬赏:0  
解决时间 2021-01-16 11:11
  • 提问者网友:自食苦果
  • 2021-01-15 20:16
excel VBA数据刷新的代码问题
最佳答案
  • 二级知识专家网友:长青诗
  • 2021-01-15 21:22
上面清除数据 是 清除的 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列下面的单元格中不是全空的,不然 程序将对所有行进行处理,直到行数达到最大,这有可能出错 或 造成程序假死。
全部回答
  • 1楼网友:一叶十三刺
  • 2021-01-15 23:55
1、
cells(a,b)的语法中
要求a,b都是数值或数值变量或数值表达式
2、
上面程序中
Do Until Cells(i, "U") = Empty '循环条件
“U”似乎不是数值而是字符串
并且没有看到U的变量说明
3、
随后的几个cells函数似乎都是这种情况
4、
如果“U”指的是U列
似乎应该写成
cells(i,21)

会不会问题出在这里呢?
  • 2楼网友:时间的尘埃
  • 2021-01-15 22:17
你看一下Cells(i, "U")的值是不是= Empty追问是清除数据后单元格不为Empty,所以不满足循环条件?那怎么修改才能使清除数据后执行循环体呢?追答设定一个新的循环控制变量,例如
Do Until i >106 ;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息