
我有工作表 1,在工作表上輸入新數據,在參考表中,我從工作表 1 中提取相同的值,以便可以按輸入時間對它們進行排序。我的目標是在工作表 1 上顯示在工作表 1 上輸入的最後 10 個項目。 。是否可以將其與新的巨集結合起來,以便我可以在一個地方輸入資料並在其他地方對其進行排序?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Range
Dim AB As Range
Set A = Range("A:A")
Set AB = Range("A:B")
If Intersect(Target, A) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
Target.Offset(0, 1) = Now
AB.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Application.EnableEvents = True
End Sub
答案1
聽起來您的問題是,您的巨集程式碼不會因一張工作表中的變更而觸發,因為該工作表僅憑藉公式引用而變更。如果是這種情況,您是否可以不將程式碼(或呼叫任何您需要的子程式)從Workbook_SheetChange()代替? (《工作手冊》工作表更改()當你改變時會觸發事件任何床單)。您可以使用以下命令檢查已變更的工作表名稱從這個子內。並使用取得變更的儲存格位址目標地址。