如何让Excel根据行号突出显示行。例如,假设我想突出显示第6,10,150,201行。谢谢。使用VBA选择并突出显示Excel行
回答
下面是根据莫特的.EntireRow.Interior.ColorIndex
这不限制你输入行号,但给用户在运行时选择行的灵活性。
Option Explicit
Sub Sample()
Dim Ret As Range
On Error Resume Next
Set Ret = Application.InputBox("Please select the rows that you would like to color", "Color Rows", Type:=8)
On Error GoTo 0
If Not Ret Is Nothing Then Ret.EntireRow.Interior.ColorIndex = 6
End Sub
随访
有没有写宏来读取从列表中的行号和突出行的方法吗?
是的,有一种方法。比方说,在单元格A1至A10列表中,那么你可以使用此代码
Option Explicit
Sub Sample()
Dim i As Long, sh As Worksheet
On Error GoTo Whoa
Application.ScreenUpdating = False
'~~> Set this to the sheet where the rows need to be colored
Set sh = Sheets("Sheet2")
'~~> Change Sheet1 to the sheet which has the list
With Sheets("Sheet1")
For i = 1 To 10
If Not Len(Trim(.Range("A" & i).Value)) = 0 And _
IsNumeric(.Range("A" & i).Value) Then _
sh.Rows(.Range("A" & i).Value).Interior.ColorIndex = 3 '<~~ Red
Next i
End With
LetsContinue:
Application.ScreenUpdating = True
Exit Sub
Whoa:
MsgBox Err.Description
Resume LetsContinue
End Sub
objWB.Cells(rowNum,201).EntireRow.Interior.ColorIndex = 6
等
+ 1另一个好:) –
对于基本的VBA代码,你可以随时开始录制宏,执行动作,停止录像,看看生成什么样的代码,然后再清理一下做你想要什么。例如,记录突出显示行(设置Interior.Color的值)的动作给你:
Rows("13:13").Select
Range("C13").Activate
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
选择命令和外来内部特性可以被移除给你:
Rows("13:13").Interior.Color = 65535
添加该行中多选择:
Rows("6:6,10:10,150:150,201:201").Interior.Color = 65535
摘要:
- 录制宏
- 查看Excel的版本
- 使用/编辑你需要
+ 1的详细的解答:) –
什么样的代码作为替代微尘的回答,您可以使用条件格式。
例如:选择A1:J500,条件格式>>新规则>>使用公式...
输入公式:=OR(ROW()=6, ROW()=10, ROW()=150, ROW()=201)
1用于非VBA溶液:) –
1最简单的方法。 – brettdj
更新:没有意识到在这个日期,但认为我想补充这一点,因为它是有关选择的答案。
除了Siddharth Rout的回答,因为我没有足够的代表评论,所以您可以动态地找出工作表中有多少行与这两行。 xlCellTypeConstants
可以更改为您需要的另一个XlCellType常量,并且可以随时更改该范围以适应您的电子表格。
Dim numRows As Integer
numRows = Range("A2", Range("A1048576").End(xlUp)).SpecialCells(xlCellTypeConstants).Cells.Count
对不起,如果它不像其他答案一样简洁或优雅,但它可以完成工作。当我为自己的应用程序编写代码时,我需要循环访问我的代码。另外,我只需要突出显示一部分行,而不是突出显示整行。
Sub Highlight()
Dim ThisWB As Workbook
Dim ThisWS As Worksheet
Dim rows(0 To 3) As Integer
Dim test As String
Set ThisWB = ActiveWorkbook
Set ThisWS = ThisWB.Sheets("Sheet1")
rows(0) = 6
rows(1) = 10
rows(2) = 150
rows(3) = 201
For i = 0 To 3
test = "A" & rows(i) & ":H" & rows(i)
ThisWS.Range(test).Interior.ColorIndex = 15
Next i
End Sub
您可能能够使用条件格式
- 值看跌名单在列(我用一个单独的标签,给列表中的名称)
- 下有条件实现同样的事情格式化 - 新规则 - “使用公式来确定单元格格式”
- 阅读本文http://www.howtogeek.com/howto/45670/how-to-highlight-a-row-in-excel-using-conditional-formatting/
- 该规则在公式中使用vlookup = $ A2 = VLOOKUP($ A2,list,1,FALSE)
- 1. VBA突出显示所选行导致选择整行
- 2. VBA突出显示行
- 3. 使用Richfaces突出显示选择JQuery
- 4. 突出显示ListView选择
- 5. 在excel中选择非突出显示的行
- 6. ASP.NET ListView通过复选框选择并突出显示行
- 7. 使用箭头键选择并突出显示元素
- 8. 使用Excel VBA比较列和突出显示匹配数据
- 9. Excel VBA - 在突出显示范围内选择一个单元格
- 10. Excel VBA - 有条件的突出显示 - 突出显示下一个最高值
- 11. 如何选择并突出显示DataTable中的一行
- 12. 使用TextPointers选择时不要突出显示换行符
- 13. 如何以粗体突出显示重复行excel vba
- 14. 选择/突出显示行并更改同一行中突出显示的文本字段的值(续)
- 15. 选择/突出显示行并更改同一行中突出显示的文本字段的值
- 16. 使用VBA在Excel中选择多行
- 17. Excel VBA:在每行中查找最大值并突出显示它
- 18. 使用VBA比较两列并突出显示差异
- 19. Powershell创建Excel与选择突出显示
- 20. 根据地址选择/突出显示Excel 2010中的列
- 21. 用突出显示/取消突出显示浮动条形图选择
- 22. 突出显示word excel
- 23. 选中时突出显示TextView,并在选中后保持突出显示
- 24. JTree TreeCellRenderer不突出显示选择
- 25. 文本选择突出显示太多
- 26. 突出显示是否选择链接
- 27. 突出显示UITableView没有选择
- 28. 删除UIWebView选择突出显示?
- 29. Java突出显示和选择输入
- 30. JQuery DatePicker突出显示日期选择
嗨,只是一个快速澄清,我应该在之前包括它。电子表格有几千条记录(行)。有没有办法编写宏来读取列表中的行号并突出显示行?这是我看到的每日报告。我想尽可能地自动化。然后,我可以按颜色过滤,只需看看我需要的。 – Dan
是的,你可以做到这一点。更新帖子。 –
谢谢,我会给它一个。 – Dan