excel - 尽管条件有效,vba 执行直到循环不进入
问题描述
我不会带来整个代码,我会尝试展示相关的内容。以下代码(在循环内,但没关系)调用返回整数的函数(compareStrings)。
Sheet1.Range("S" & i).Value = compareStrings(sheet1.Range("J" & i).Value, sheet1.Range("K" & i).Value)
所以基本上我有一个循环,用整数填充列 S。然后我按升序对 S 列进行排序。后来我有另一个循环,它应该对所有小于 5 的值做一些事情。
循环如下所示:
With Sheet1.Range("S" & i)
Do Until .Value < 5
If .Value = 0 Then
'some statement
Else
'some statement
End If
i = i + 1
Loop
End With
出于某种原因,尽管我有很多行的值为 < 5,但它没有进入循环。我实际上试图将其更改为 <>,但它也没有进入。好像它没有将其视为整数,尽管我已将整数放入这些单元格中。
有任何想法吗?
谢谢
解决方案
“我有另一个循环应该对所有小于 5 的值做一些事情。”
你的逻辑虽然没有意义。
Do Until .Value < 5
值小于 5 时不会做任何事情。这与说“如果我的值大于或等于5,则采取行动。
Do While
可能是更好的选择。
推荐阅读
- c# - 在 C# 的消息框对话框代码中包含 if 条件
- java - JPanel 上的 Java 更新和刷新 BufferedImage 动态
- rpa - Automation Anywhere 文件触发器失败
- xamarin.forms - 导航后如何更改页面标题?
- android - 如何设置单个recyclerview item [imageview] 占据屏幕的一半?
- python - Python & Sqlalchemy - 连接模式 -> 随机断开与远程服务器的连接
- javascript - 使用 window.open 在 Chrome 中打开一个具有所有功能(菜单栏等)的新窗口(不是选项卡)
- wordpress - Fedora 上 Wordpress 中的永久链接损坏
- vuejs2 - vuejs - 异步和动态组件
- php - PHP Rabbit MQ 从单个队列中读取特定消息