如何创建一个vba模块,该模块将根据标题名称高亮显示彼此不相邻的两列
这是一个新概念,但现在我需要对大量数据页面进行排序,我希望能够根据标题名称突出显示两个特定列。现在我在网上找到了这个,这很好,除了我必须搜索两个不同的专栏。任何帮助都将不胜感激如何创建一个vba模块,该模块将根据标题名称高亮显示彼此不相邻的两列,vba,excel,Vba,Excel,这是一个新概念,但现在我需要对大量数据页面进行排序,我希望能够根据标题名称突出显示两个特定列。现在我在网上找到了这个,这很好,除了我必须搜索两个不同的专栏。任何帮助都将不胜感激 Sub FindAddressColumn() 'Updateby Extendoffcie Dim xRg As Range Dim xRgUni As Range Dim xFirstAddress As String Dim xStr As String On Er
Sub FindAddressColumn()
'Updateby Extendoffcie
Dim xRg As Range
Dim xRgUni As Range
Dim xFirstAddress As String
Dim xStr As String
On Error Resume Next
xStr = "Name"
Set xRg = Range("A1:P1").Find(xStr, , xlValues, xlWhole, , , True)
If Not xRg Is Nothing Then
xFirstAddress = xRg.Address
Do
Set xRg = Range("A1:P1").FindNext(xRg)
If xRgUni Is Nothing Then
Set xRgUni = xRg
Else
Set xRgUni = Application.Union(xRgUni, xRg)
End If
Loop While (Not xRg Is Nothing) And (xRg.Address <> xFirstAddress)
End If
xRgUni.EntireColumn.Select
End Sub
子FindAddressColumn()
'由Extendoffcie更新
Dim xRg As范围
Dim xRgUni As范围
Dim xFirstAddress作为字符串
Dim xStr作为字符串
出错时继续下一步
xStr=“Name”
设置xRg=Range(“A1:P1”)。查找(xStr,xlValues,xlWhole,True)
如果不是,那么xRg什么都不是
xFirstAddress=xRg.Address
做
设置xRg=范围(“A1:P1”)。FindNext(xRg)
如果xRgUni什么都不是,那么
设置xRgUni=xRg
其他的
设置xRgUni=Application.Union(xRgUni,xRg)
如果结束
循环While(非xRg即无)和(xRg.Address xFirstAddress)
如果结束
xRgUni.entireclumn.Select
端接头
命令顺序错误。在联合之前,您可以使用.FindNext
覆盖xRg。试着这样做:
If Not xRg Is Nothing Then
xFirstAddress = xRg.Address
Do
' Set xRg = Range("A1:P1").FindNext(xRg) --- moved below
If xRgUni Is Nothing Then
Set xRgUni = xRg
Else
Set xRgUni = Application.Union(xRgUni, xRg)
End If
Set xRg = Range("A1:P1").FindNext(xRg) ' --- moved here
Loop While (Not xRg Is Nothing) And (xRg.Address <> xFirstAddress)
End If
如果不是,那么xRg什么都不是
xFirstAddress=xRg.Address
做
'设置xRg=范围(“A1:P1”)。FindNext(xRg)---移动到下面
如果xRgUni什么都不是,那么
设置xRgUni=xRg
其他的
设置xRgUni=Application.Union(xRgUni,xRg)
如果结束
设置xRg=Range(“A1:P1”)。FindNext(xRg)“”---移动到此处
循环While(非xRg即无)和(xRg.Address xFirstAddress)
如果结束
每个工作表中搜索的列名是否只显示一次?