返回列表 上一主題 發帖

[發問] 傳回工作表可見的第一個row ??

[發問] 傳回工作表可見的第一個row ??

本帖最後由 t8899 於 2021-1-30 10:06 編輯

傳回工作表可見的第一個row ??
是工作表不是作用視窗
如圖  row=28

  1. Sub zz()
  2. Debug.Print ActiveWindow.ActivePane.VisibleRange(1, 1).Row
  3. End Sub
複製代碼

TOP

回復 2# ikboy

工作表不是"當前視窗" ???

activewindow 用不上

TOP

回復  ikboy

工作表不是"當前視窗" ???

activewindow 用不上
准提部林 發表於 2021-1-31 12:00


是工作表
工作表不等於activewindow

TOP

樓主當前有多個工作簿視窗? 所要獲得的Row號是否當前工作簿的當前工作表? 其實衹要是當前工作表, 這段代碼是可行的。
  1. Sub zz()
  2. Debug.Print ActiveWindow.ActivePane.VisibleRange.Rows(1).Row
  3. End Sub
複製代碼
若其他作簿視窗的當前工作表,
  1. Sub zz()
  2. Debug.Print Windows(該視窗名或該視窗index).ActivePane.VisibleRange.Rows(1).Row
  3. End Sub
複製代碼

TOP

回復 5# ikboy

Windows(該視窗名或該視窗index).ActivePane.VisibleRange.Rows(1).Row
如果檔名是abc.xlsm (窗名為abc) 工作表為sheet1 (僅適用sheet1)
則語法是??

TOP

我衹能用笨方法:
  1. Sub zz()
  2. Application.ScreenUpdating = 0
  3. Dim ws As Worksheet
  4. Set ws = ActiveSheet
  5. With Workbooks("abc.xlsm")
  6.     .Sheets(1).Activate
  7.     Debug.Print ActiveWindow.ActivePane.VisibleRange.Rows(1).Row
  8. End With
  9. ws.Activate
  10. Application.ScreenUpdating = 1
  11. End Sub
複製代碼

TOP

回復 7# ikboy

我主要目的是不知下面這句放在Worksheet_Calculate有時會出現錯誤??才會想用別的方法替代
Private Sub Worksheet_Calculate()
IF ActiveSheet.Name = "good" Then

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題