我想動態獲取使用VS 2005 vb.net的Excel中單元格的範圍。這適用於oRange = oSheet.Range(oSheet.Cells(「A1」),(「U281」))。選擇,但「U281」並不總是該範圍中的最後一個單元格。那麼我將如何動態獲取其中包含數據的最後一個單元格,格式與U281相同。使用vb.net在Excel中獲取範圍地址
1
A
回答
2
要獲得最後一個單元格,使用這個公式:
這工作得很好,除非你有一些用戶誰已經到了電子表格的一些奇怪的領域,做的事情,他們已經因爲刪除。上述公式將返回最後一個單元格作爲他們去哪裏進行奇怪旅程的地方,即使它現在全部空白。
在我的情況下,我必須處理大量電子表格中的每個單元格,其中用戶下降到行60,741和列50,即使只有幾百行實際數據。爲了避免這個龐大的空白區域,你想要搜索有數據的最大行和最大列,並使用該單元格作爲你的數據單元格的右下角,如下所示(這是C#,但不應該是難以翻譯):
Microsoft.Office.Interop.Excel.Range maxCell =
(Microsoft.Office.Interop.Excel.Range)worksheet.Cells[worksheet.Cells.Find("*",
(Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, 1],
Microsoft.Office.Interop.Excel.XlFindLookIn.xlValues,
Microsoft.Office.Interop.Excel.XlLookAt.xlWhole,
Microsoft.Office.Interop.Excel.XlSearchOrder.xlByRows,
Microsoft.Office.Interop.Excel.XlSearchDirection.xlPrevious,
false, false, missing).Row,
worksheet.Cells.Find("*",
(Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, 1],
Microsoft.Office.Interop.Excel.XlFindLookIn.xlValues,
Microsoft.Office.Interop.Excel.XlLookAt.xlWhole,
Microsoft.Office.Interop.Excel.XlSearchOrder.xlByColumns,
Microsoft.Office.Interop.Excel.XlSearchDirection.xlPrevious,
false, false, missing).Column];
這可以爲您節省大量的處理時間。
0
以下是Chris Latta的答案中的VB2008版本轉換。謝謝!
Dim maxCell As Microsoft.Office.Interop.Excel.Range
maxCell = DirectCast(xlWorkSheet.Cells(xlWorkSheet.Cells.Find("*", _
DirectCast(xlWorkSheet.Cells(1, 1), Excel.Range), _
Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlWhole, _
Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlPrevious, False, False).Row, _
xlWorkSheet.Cells.Find("*", DirectCast(xlWorkSheet.Cells(1, 1), Excel.Range), _
Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns, _
Excel.XlSearchDirection.xlPrevious, False, False).Column), Excel.Range)
MsgBox(maxCell.Address)
相關問題
- 1. 使用npoi單元格讀取excel範圍地址
- 2. 獲取DHCP IP地址範圍
- 3. 在vb.net獲取IP地址
- 4. 使用VB.NET獲取MAC地址2010
- 5. 獲取範圍在Excel 2007中
- 6. 如何使用VB.net從Excel中的範圍對象獲取單元格引用?
- 7. 在VB.NET中定義Excel的範圍
- 8. Excel Marco設置範圍。地址
- 9. VB.Net獲取偏移地址
- 10. 在MIPS彙編中獲取地址超出範圍?
- 11. Perl:獲取不在給定列表中的IP地址範圍
- 12. 如何使用office.js Excel Addin中的行號和列號獲取完整的Excel範圍地址?
- 13. 如何從excel中獲取任何單元格的地址範圍
- 14. 如何從office.js中給定的Excel命名範圍獲取地址?
- 15. IPv6地址範圍
- 16. 引用IP地址範圍
- 17. 獲取Excel中刪除的範圍
- 18. 如何獲取VBA中陣列中項目的範圍地址?
- 19. 用VB.NET獲取「真實」IP地址?
- 20. 使用.htaccess阻止IP地址範圍
- 21. 在excel地址的地址中獲取列名部分
- 22. 如何使用openxml和c獲取excel表中的範圍#
- 23. 在perl中迭代IP地址範圍
- 24. 在Excel中引用範圍
- 25. 使用現有IP地址範圍驗證IP地址
- 26. 使用VB.NET從Excel中的特定範圍複製
- 27. 在Excel範圍中使用變量
- 28. 範圍在Excel中使用VBA
- 29. 在Excel中使用範圍值
- 30. 在Excel中使用變量範圍