我正在尝试对一列数字进行简单的检查。检查是“如果数字大于 50 大于负 50”,然后我可能需要做一些突出显示/格式化以显示单元格已被操作。
工作表名称每次都会改变,所以我不想指定工作表名称。此外,行数会发生变化,因此我一直在使用循环遍历每一行的“范围”。
我有一个代码片段,可以将单元格值设置为文本,但我无法弄清楚如何对相关单元格执行简单的数学运算。
这是用于更改值的代码片段。
Public Sub testforfifty()
Dim rcell As Range, rng As Range
Set rng = Application.ActiveSheet.Range("D1:D" & Application.ActiveSheet.UsedRange.Rows.Count)
For Each rcell In rng.Cells
If rcell.Value > 50 Then rcell.Value = "GreaterThan50"
Next rcell
End Sub
我需要的是这样的:
Public Sub testforfifty()
Dim rcell As Range, rng As Range
Set rng = Application.ActiveSheet.Range("D1:D" & Application.ActiveSheet.UsedRange.Rows.Count)
For Each rcell In rng.Cells
If rcell.Value > 50 Then rcell.Value = rcell - 50
Target.Interior.ColorIndex = 8
Next rcell
End Sub
问题是我的一些单元格有文本而不是数字,而不是像预期的那样向前移动,它停止并出错。“就像我需要的那样”的代码确实有效,但它不处理非整数,如果它得到一个带有 text 的单元格,循环就会中断。此外,突出显示部分还没有工作,但这是一个单独的线程/问题,我仍在自己处理。
我添加了这个,即使它遇到一个不是数字的单元格也能工作(只是移动到下一个单元格)
If IsNumeric(rcell.Value) = True Then
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句