【发布时间】:2016-09-28 02:49:26
【问题描述】:
我是 VBA 的新手(有点),我被分配了一项繁琐的任务,即根据单元格值搜索 5000 多行以突出显示行(从 A 到 j,colorindex=6),这让我很费时间。基本上我正在尝试开发一个程序来搜索列 C 下的字符串,如果单元格等于搜索的字符串,然后从活动单元格偏移到下面的 4 行,并且对于任何大于 37 的数字,当它找到一个时停止索引颜色为 33 的连续单元格。有什么想法吗?我开始了,现在卡住了。任何想法都会有所帮助。谢谢
Sub Priority()
'Declaring all worksheets in the excel file
Dim US As Worksheet
Dim Venr50 As Worksheet
Dim Priority As Worksheet
Dim CBT As String
'setting all variables declared
Set US = Worksheets("US CKS")
Set Venr = Worksheets("VENR50 US 09.24")
Set Priority = Worksheets("Priority")
CBT = Priority.Range("$C$6").Value
With US
Dim x As Long
For x = 4 To 3000
If Cells(x, "C").Value = CBT Then
ActiveCell.Interior.ColorIndex = 33
ActiveCell.Offset(4, 0).Select
End If
【问题讨论】:
-
当你找到 CBT 时,你想给它上色 33,然后偏移 4 行?那么您是否希望循环检查 CBT 是否从该偏移行开始?如果是这样,您应该增加 x。您还需要 End If 之后的 Next x 来完成您的 for 外观。
-
我希望它找到已经是 colorindex 33 的 CBT(在 C 范围内),然后开始搜索其下方四行大于 37 的数字(仍在 C 范围内)并将其突出显示为 colorindex 6 (从 A 到 J),直到遇到一个单元格 colorindex = 33。然后停止。