我希望用戶通過InputBox對話框輸入最後填充的單元格編號。如何在VBA中顯示InputBox對話框時滾動窗口?
numRows = InputBox("Enter number of rows in the BOM: ", "Number of Rows")
問題是當對話框在屏幕上時,用戶無法向下滾動查看最後一行。由於某些單元格填充的某些單元格不是動態的,因此很難找到填充行的數量。
謝謝。
編輯: 我使用Excel 2007中
我希望用戶通過InputBox對話框輸入最後填充的單元格編號。如何在VBA中顯示InputBox對話框時滾動窗口?
numRows = InputBox("Enter number of rows in the BOM: ", "Number of Rows")
問題是當對話框在屏幕上時,用戶無法向下滾動查看最後一行。由於某些單元格填充的某些單元格不是動態的,因此很難找到填充行的數量。
謝謝。
編輯: 我使用Excel 2007中
雖然這已被封閉,但我將添加這些評論作爲答案,而不是作爲評論給予此回覆的長度和格式化的需要。該鏈接確實注意到您選擇的SpecialCells方法可能存在問題,我在下面添加了一個修補程序。另外,我已經添加代碼,將看實際的行數XL2007,鏈接(在2002年寫回)目前固定爲65536行,因爲這是存在的唯一Excel行號,此時
LASTROW = Cells.SpecialCells(xlCellTypeLastCell).Row
可以應用於這樣以確保usedrange正確復位到最後一個單元格
ActiveSheet.UsedRange
LastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
使用行數從底部
LastRowColA = Range("A65536").End(xlUp).Row
以迎合所有行Excel版本(xl07和XL10擁有1.048萬行)
LastRowColA = Cells(Rows.Count,"A").End(xlUp).Row
使用查找
LastRow = Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
這會報錯了,如果表是空白的(即沒有值dfind)
Dim rng1 As Range
Set rng1 = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
If Not rng1 Is Nothing Then
LastRow = rng1.Row
Else
'sheet is blank
End I
的情況下,任何人都好奇這裏是我做過什麼:numRows行=範圍(「A :B「)。SpecialCells(xlLastCell)。選擇它向下滾動到最後填充的單元格,然後詢問用戶的號碼。 – infinitloop