在 excel vba 中找到选定的列
Find the selected column in the excel vba
For Each Sheet In ActiveWorkbook.Sheets
If Sheet.Index <> 1 Then
Sheet.Activate
Range("B1").Select
Call Something
ElseIf Sheet.Index = 1 Then
Sheet.Activate
Range("A1").Select
Call Something_new
End If
Next Sheet
我正在做一个项目,如果我在一个(列)sheet 中过滤某些东西,它将在每个其他(列)sheet.
中同步上面的代码,我正在使用基于 sheet 索引的 "if" 条件。
我需要使用基于所选列的条件,一些东西像这样
if filters are made on Column A Then
Range("A1").select
Call something
if filters are made on Column B Then
Range("B1").select
Call something_else
我需要一些建议,
这些基础知识可能正是您所需要的 - 在标准过滤 sheet(sheet1 对我来说):
If Sheet1.AutoFilter.Filters.Item(1).On Then MsgBox ("Filter 1 is on")
项目 1 将是第一列,即 A 列。您可以像这样测试每个项目:
If Sheet1.AutoFilter.Filters.Item(1).On Then MsgBox ("Filter 1 is on")
If Sheet1.AutoFilter.Filters.Item(2).On Then MsgBox ("Filter 2 is on")
等或者您可以像这样循环进行动态测试:
Sub SelectFirstColumnWithFilter
Dim i As Long
For i = 1 To Sheet1.AutoFilter.Filters.Count
If Sheet1.AutoFilter.Filters.Item(i).On Then Cells(1, i).Select: Exit Sub
Next i
End Sub
For Each Sheet In ActiveWorkbook.Sheets
If Sheet.Index <> 1 Then
Sheet.Activate
Range("B1").Select
Call Something
ElseIf Sheet.Index = 1 Then
Sheet.Activate
Range("A1").Select
Call Something_new
End If
Next Sheet
我正在做一个项目,如果我在一个(列)sheet 中过滤某些东西,它将在每个其他(列)sheet.
中同步上面的代码,我正在使用基于 sheet 索引的 "if" 条件。
我需要使用基于所选列的条件,一些东西像这样
if filters are made on Column A Then
Range("A1").select
Call something
if filters are made on Column B Then
Range("B1").select
Call something_else
我需要一些建议,
这些基础知识可能正是您所需要的 - 在标准过滤 sheet(sheet1 对我来说):
If Sheet1.AutoFilter.Filters.Item(1).On Then MsgBox ("Filter 1 is on")
项目 1 将是第一列,即 A 列。您可以像这样测试每个项目:
If Sheet1.AutoFilter.Filters.Item(1).On Then MsgBox ("Filter 1 is on")
If Sheet1.AutoFilter.Filters.Item(2).On Then MsgBox ("Filter 2 is on")
等或者您可以像这样循环进行动态测试:
Sub SelectFirstColumnWithFilter
Dim i As Long
For i = 1 To Sheet1.AutoFilter.Filters.Count
If Sheet1.AutoFilter.Filters.Item(i).On Then Cells(1, i).Select: Exit Sub
Next i
End Sub