返回列表 上一主題 發帖

[發問] 請問如何對應工作表的名稱

  1. ' 放在 ThisWorkbook,
  2. ' 其他工作表的 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 請關閉或刪除
  3. '
  4. Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  5.     Dim xDat As Range, xKey As Range, LR
  6.    
  7.     '    Debug.Print Sh.Name
  8.     '    Debug.Print Target.Address
  9.     '
  10.     If Application.Intersect([A3:D3], Target) Is Nothing Then Exit Sub
  11.     Application.EnableEvents = False
  12.     On Error GoTo ERR
  13.     Debug.Print "Sort ..." & Target.Address
  14.     For Each xSh In Sheets
  15.         ' Debug.Print xSh.Name
  16.         With xSh
  17.             LR = .Range("B3").End(xlDown).Row
  18.             Set xDat = .Range("A3:D" & LR)
  19.             Set xKey = .Range(Target.Address).Resize(LR - 2)
  20.             xDat.Sort key1:=xKey, order1:=xlAscending, Header:=xlYes

  21.         End With
  22.     Next
  23.     GoTo 100
  24. ERR: MsgBox "ERROR"
  25. 100:     Application.EnableEvents = True
  26. End Sub
複製代碼
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 ML089 於 2016-5-23 05:57 編輯

回復 3# 4016

{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

這是指我寫公式時若是陣列公式時會以此分為一般公式或陣列公式的說明
列如
{=SUM(IF(a4:a43<10,a4:a43*2))}
表示此公式為陣列公式
1. 將公式輸入(或複製貼上)編輯列,=SUM(IF(a4:a43<10,a4:a43*2))
2. 不用enter輸入,要改用CTRL+SHIFT+ENTER 三鍵輸入公式,輸入成功後公式外就會增加 {...}
3. CTRL+SHIFT+ENTER 三鍵輸入公式技巧是先按住CTRL+SHIFT不放在按 ENTER就能三鍵輸入公式
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 5# 4016

只能點選 A3:D3這4儲存格才能有作用
你可以修改下列中的 [A3:D3]作為點選執行的位置

If Application.Intersect([A3:D3], Target) Is Nothing Then Exit Sub
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 口說好話、心想好意、身行好事。
返回列表 上一主題