excel - 尝试将值小于零的单元格格式化为逗号

标签 excel vba

Sub test
    Dim s As Long
    Dim lr As Long
    s=11
    lr = Cells(Rows.Count, 3).End(xlUp).row
    Do Until s>lr
    If Cells(s,5).Value < 0 Then
        Cells(s,5).style = “comma”
        lr = lr -1
    Else
        s = s + 1
    End If
    Loop
End sub

此代码旨在更改它找到的第一个零值,然后它将停止。这些值在 E 列中,需要更改其样式,但我无法弄清楚。

最佳答案

那是因为如果值小于 0 则 s永远不会增加。另外,不确定为什么要递减 lr ?将增量代码移到 if... then 之外声明,它应该工作。

Do Until s>lr
    If Cells(s,5).Value < 0 Then
        Cells(s,5).style = “comma”
    End If
    s = s + 1
Loop

关于excel - 尝试将值小于零的单元格格式化为逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57975840/

相关文章:

macos - VBA 在 Windows Excel 上运行,但不能在 Mac Excel 中运行

excel - 突出显示数据行的宏不在 Excel 工作簿中运行

excel - WorksheetFunction.CountIfs 给我一个类型不匹配错误(错误 #13)

vba - 无法停止将行从工作表导入到另一个工作表的循环

excel - 来自另一张纸的 ListFillRange

excel - 从 Excel 关闭 PowerPoint 中的显示警报

excel - 在 VBA 中循环合并单元格

arrays - 在 Excel VBA 中将工作表名称添加到数组

excel - 组合框中仅包含唯一记录 (VBA)

vba - Excel 在循环中进行简单 VBA(打开文件、复制、粘贴、关闭)期间崩溃