vba - 根据VBA中的行号突出显示单元格

标签 vba excel

我想根据行号更改单元格样式。我还是 VBA 的新手。
这是我的代码:

Sub format()
    FinalRow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = 1 To FinalRow 
        If Rows.Count = 2 * i + 1 Then
            Selection.Style = "Good"
        ElseIf Rows.Count = 2 * i Then
            Selection.Style = "Bad" 
        End If

        ActiveCell.Offset(1, 0).Select
   Next i
End Sub

循环移动到下一个单元格,但如果满足条件则不会突出显示。请你帮帮我。

最佳答案

我建议如下:

Option Explicit

Public Sub FormatEvenOddRowNumbers()
    Dim FinalRow As Long
    FinalRow = Cells(Rows.Count, 1).End(xlUp).Row

    Dim i As Long
    For i = 1 To FinalRow
        If i Mod 2 = 0 Then 'even row number
            Cells(i, 1).Style = "Good"
        Else 'odd row number
            Cells(i, 1).Style = "Bad"
        End If
   Next i
End Sub

要测试行号是否为“偶数”,您可以使用 If i Mod 2 = 0 Then你也不需要测试“奇数”,因为如果它不是“偶数”,它必须是“奇数”,所以你可以使用 Else没有任何标准。

尽量避免使用.Select它使您的代码变慢。见 How to avoid using Select in Excel VBA .而是直接访问单元格,如 Cells(row, column) .

关于vba - 根据VBA中的行号突出显示单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51891734/

相关文章:

vba - 在 VBA 中查找宏代码

arrays - VBA使用数组中的值创建Excel图表

vba - 将图表工作表设置为工作表变量

regex - 有没有办法让这个正则表达式不那么贪婪。使用 Excel VBA

excel - 可对单元格内的值进行分组的反转函数

vba - 使用 vba 删除不同 Excel 工作簿中 Excel 工作表上的空白行

class - 从 VBA 函数返回新类对象的 "right"方法是什么?

arrays - 交错数组作为 vba sub 的参数

Excel VBA 和 Google map

sql - 如何使用 VBA 从数据库中保存数百万条记录?