gpt4 book ai didi

excel - 比较 Excel VBA 中的两列(大于/小于或等于)

转载 作者:行者123 更新时间:2023-12-04 21:17:17 24 4
gpt4 key购买 nike

实际上,我很难找到答案,这让我感到非常惊讶。我有 2 列包含一堆数字(在同一个工作表上)。我只是想让代码对列中的每一行说“如果第 1 列中的值 > 第 2 列中的值,请执行此操作”。我试过了

If sheet.range("B2:B35").Value > sheet.range("C2:C35").Value Then
'do something
End If

但显然它不是那样工作的。

最佳答案

您需要考虑一个循环来独立检查每一行。

这个想法是这样的:

For i = 2 to 35
If Sheet.Range("B" & i).Value > Sheet.Range("C" & i).Value
'Do Something for Row i
End If
Next
Value可以省略,因为它是隐含的,意思是 Sheet.Range("B" & i).Value返回与 Sheet.Range("B" & i) 相同的结果

此外,根据您的需要,有多种方法可以寻址单元格。
  Range() 'Can be used to address multiple cells at the same time over a range
' or used to address a single cell as is done here

Cells() 'Can be used to address a single Cell by calling Cells("B" & i) as is
' done above, or can reference the row and column numerically like
' Cells(2, i)

并且以上两种方法都可以和 Offset()结合使用如果您希望在给定的工作表中移动,例如:
  Cells(2, 1).Offset(0, i) 'Addresses the Cell offset from "B1" by 0 columns and
' i rows.

我个人倾向于使用 Cells(2, i)在这些情况下,但我只使用了 Range因为我直接从您的示例代码片段中借用了它。

关于excel - 比较 Excel VBA 中的两列(大于/小于或等于),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12700118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com