excel - 如何配置 VBA 以在所有工作表上工作
问题描述
我目前正在使用这个 VBA 按升序对日期进行排序。它在我的第一个工作表上运行良好,但我似乎无法将其应用于其他工作表。任何帮助将不胜感激,谢谢!
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160606
On Error Resume Next
If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Range("A3").Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
解决方案
所有工作表的一个代码
ThisWorkbook
在模块中使用以下代码:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Const Cols As Variant = 1 ' or "A"
Const RangeAddr As String = "A3"
Const Key1Addr As String = "A4"
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Sh.Columns(Cols)) Is Nothing Then Exit Sub
On Error Resume Next
Sh.Range(RangeAddr).Sort Key1:=Sh.Range(Key1Addr), _
Order1:=xlAscending, _
Header:=xlYes, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom
' While developing, a simple error handler can clarify occurring issues.
' If Err.Number <> 0 Then
' Debug.Print Err.Description
' Else
' Debug.Print "Sheet '" & Sh.Name & "' successfully sorted."
' End If
'On Error GoTo 0
End Sub
推荐阅读
- python - 存储输入数字的数据结构是什么?
- symfony - 使用 Symfony/Doctrine,检查一个实体是否被另一个实体引用
- ajax - 在 KNIME 刮板中设置“等待”
- jquery - 单击时不出现弹出窗口(交互式地图)
- python - 重新安装 Python 后无法解压我的模型
- java - 外部jar在java项目中工作,但在spring maven项目中得到java.lang.NoClassDefFoundError
- bash - 文件名加 1
- c# - XAML 阅读器等效于 IDeserializationCallback.OnDeserialization
- php - 为什么使用我的主键“code_giac”来更新我的字段?
- vba - Shell 执行 Return 2 并且不打开文件