Vba 在多个工作表中运行一个宏
如何使宏不仅在该工作表中运行,还可以在其他工作表中运行 这意味着,当我有两个或更多相同的工作表,我希望同一个宏在这两个工作表上独立地由一个按钮触发Vba 在多个工作表中运行一个宏,vba,excel,worksheet,Vba,Excel,Worksheet,如何使宏不仅在该工作表中运行,还可以在其他工作表中运行 这意味着,当我有两个或更多相同的工作表,我希望同一个宏在这两个工作表上独立地由一个按钮触发 子排序_测试() ' '排序测试宏 ' ' 范围(“M4:O7”)。选择 ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Clear ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add(范围(“O5:O7”)_ xlSortOnCel
子排序_测试()
'
'排序测试宏
'
'
范围(“M4:O7”)。选择
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add(范围(“O5:O7”)_
xlSortOnCellColor,xlAscending,xlSortNormal).SortOnValue.Color=RGB(255,0_
, 0)
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add(范围(“O5:O7”)_
xlSortOnCellColor,xlSortNormal,xlSortNormal).SortOnValue.Color=RGB(255_
192, 0)
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add(范围(“O5:O7”)_
xlSortOnCellColor,xlAscending,xlSortNormal).SortOnValue.Color=RGB(192,0_
, 0)
使用ActiveWorkbook.Worksheets(“Sheet1”).Sort
.SetRange范围(“M4:O7”)
.Header=xlYes
.MatchCase=False
.方向=xlTopToBottom
.SortMethod=xl拼音
.申请
以
范围(“M4”)。选择
End Sub
未经测试,但类似于以下内容:
Sub Test1()
DoSort ThisWorkbook.Sheets("Sheet1")
End Sub
Sub Test2()
DoSort ThisWorkbook.Sheets("Sheet2")
End Sub
Sub DoSort(sht As Worksheet)
With sht.Sort
.SortFields.Clear
.SortFields.Add(sht.Range("O5:O7"), xlSortOnCellColor, xlAscending, _
, xlSortNormal).SortOnValue.Color = RGB(255, 0, 0)
.SortFields.Add(sht.Range("O5:O7"), xlSortOnCellColor, xlAscending, _
, xlSortNormal).SortOnValue.Color = RGB(255, 192, 0)
.SortFields.Add(sht.Range("O5:O7"), xlSortOnCellColor, xlAscending, _
, xlSortNormal).SortOnValue.Color = RGB(192, 0, 0)
.SetRange sht.Range("M4:O7")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
sht.Range("M4").Select
End Sub
如果您只需要一个按钮对activesheet进行排序,那么只需在未测试的现有代码中使用
activesheet
,但类似于以下内容:
Sub Test1()
DoSort ThisWorkbook.Sheets("Sheet1")
End Sub
Sub Test2()
DoSort ThisWorkbook.Sheets("Sheet2")
End Sub
Sub DoSort(sht As Worksheet)
With sht.Sort
.SortFields.Clear
.SortFields.Add(sht.Range("O5:O7"), xlSortOnCellColor, xlAscending, _
, xlSortNormal).SortOnValue.Color = RGB(255, 0, 0)
.SortFields.Add(sht.Range("O5:O7"), xlSortOnCellColor, xlAscending, _
, xlSortNormal).SortOnValue.Color = RGB(255, 192, 0)
.SortFields.Add(sht.Range("O5:O7"), xlSortOnCellColor, xlAscending, _
, xlSortNormal).SortOnValue.Color = RGB(192, 0, 0)
.SetRange sht.Range("M4:O7")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
sht.Range("M4").Select
End Sub
如果您只需要一个按钮来对activesheet进行排序,那么只需在现有代码中使用
activesheet
,这是一个很好的例子,说明了不使用“处处选择”可以实现清晰性。。。加一!这是一个很好的例子,说明了不使用“处处选择”可以实现清晰性。。。加一!