Board logo

標題: [發問] 傳回工作表可見的第一個row ?? [打印本頁]

作者: t8899    時間: 2021-1-30 09:48     標題: 傳回工作表可見的第一個row ??

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

傳回工作表可見的第一個row ??
是工作表不是作用視窗
如圖  row=28[attach]33019[/attach]
作者: ikboy    時間: 2021-1-31 11:29

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

作者: 准提部林    時間: 2021-1-31 12:00

回復 2# ikboy

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

activewindow 用不上
作者: t8899    時間: 2021-1-31 21:30

回復  ikboy

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

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


是工作表
工作表不等於activewindow
作者: ikboy    時間: 2021-2-1 11:53

樓主當前有多個工作簿視窗? 所要獲得的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
複製代碼

作者: t8899    時間: 2021-2-2 07:37

回復 5# ikboy

Windows(該視窗名或該視窗index).ActivePane.VisibleRange.Rows(1).Row
如果檔名是abc.xlsm (窗名為abc) 工作表為sheet1 (僅適用sheet1)
則語法是??
作者: ikboy    時間: 2021-2-2 11:20

我衹能用笨方法:
  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
複製代碼

作者: t8899    時間: 2021-2-3 07:14

回復 7# ikboy

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)