VBA标红

上级发来一个EXcel表格很长,要求把数据不连续的地方标注,本准备加工一下搞成数组然后用java来处理,悲剧的是溢出了,

知道有一个对excel处理的东东叫vba,查了一下,就用它了,这是我第一个VBA程序,(没有VB基础),哈哈,贴上来留做纪念

 

Sub test1()
For i = 2 To 24335
    If CLng(Right(Sheet1.Cells(i, 4), 6)) - CLng(Right(Sheet1.Cells(i - 1, 4), 6)) <> 1 Then
       Sheet1.Cells(i, 4).Interior.ColorIndex = 3
Sheet1.Cells(i, 5) = 1

    End If
  Next
End Sub

### 回答1: 以下是 VBA 代码示例,可以实现在某一工作表中查找 M 列中内容为 FALSE 的单元格所在行,并将其颜色标红: ``` Sub HighlightFalseCells() Dim i As Long For i = 1 To Cells(Rows.Count, "M").End(xlUp).Row If Cells(i, "M").Value = False Then Cells(i, "M").Interior.Color = RGB(255, 0, 0) End If Next i End Sub ``` 在使用此代码前,请确保当前工作表是您要操作的工作表。 ### 回答2: 使用VBA编写一个宏来查找M列中内容为FALSE的单元格所在的行,并将该行标记为红色。 首先,打开Excel文件并按下Alt+F11打开VBA编辑器。在VBA编辑器中,选择适当的工作表,然后点击插入->模块,输入以下代码: ```vba Sub FindAndHighlightFalseCells() Dim ws As Worksheet Dim lastRow As Long Dim i As Long '选择适当的工作表 Set ws = ThisWorkbook.Sheets("Sheet1") '获取M列的最后一行 lastRow = ws.Cells(ws.Rows.Count, "M").End(xlUp).Row '遍历M列中的每个单元格 For i = 1 To lastRow '如果单元格的值为FALSE,则标红该行 If ws.Cells(i, "M").Value = False Then ws.Rows(i).Interior.Color = RGB(255, 0, 0) '红色 End If Next i End Sub ``` 请将"Sheet1"替换为你想要在其中执行此操作的工作表名称。然后,按下F5或运行按钮执行宏。 执行完宏后,M列中内容为FALSE的单元格所在的行将会被标记为红色。 以上就是使用VBA查找M列内容为FALSE的单元格所在行并标红的方法。 ### 回答3: 在VBA中,可以使用循环遍历M列的每一个单元格,然后判断其内容是否为FALSE,如果是,则将所在行的单元格标红。 具体实现的代码如下: ```vba Sub 标红() Dim lastRow As Long Dim rng As Range Dim cell As Range '获取M列的最后一行 lastRow = Cells(Rows.Count, "M").End(xlUp).Row '设置需要遍历的范围为M列的所有单元格 Set rng = Range("M1:M" & lastRow) '遍历每一个单元格 For Each cell In rng '判断单元格内容是否为FALSE If cell.Value = False Then '将所在行的单元格标红 cell.EntireRow.Interior.Color = RGB(255, 0, 0) End If Next cell End Sub ``` 以上代码首先找到M列的最后一行,并将需要遍历的范围设置为M列的所有单元格。然后通过遍历每一个单元格,判断其内容是否为FALSE,如果是,则将其所在行的单元格标红。最后可以通过运行这段VBA代码来实现查找M列内容为FALSE的单元格所在行并标红的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值