1. 程式人生 > >VBA獲取excel行和列

VBA獲取excel行和列

Sub 拷貝資訊()

Dim workbookTmp As Workbook
Dim worksheetTmp As Worksheet
Dim rangTmp As Range
Dim i%
Dim j%

'當前工作表格可以使用ThisWorkbook
'也可以
Debug.Print ThisWorkbook.Name
Debug.Print ActiveWorkbook.Name
'按行拷貝資訊
Set workbookTmp = Workbooks.Open("C:\Users\Administrator\Desktop\excelProj\luoehu17620079311443842528.xls"
) Set worksheetTmp = workbookTmp.Sheets(1) j = worksheetTmp.UsedRange.Columns.Count Debug.Print "column num is ->" & j For i = 1 To worksheetTmp.UsedRange.Rows.Count Debug.Print "row num is ->" & i 'pring row data Next

另外今天練習中遇到一個91的錯誤。記錄如下:
物件變數或 With 塊變數沒有設定(錯誤 91)
建立物件變數有兩個步驟。
首先必須先宣告物件變數。然後必須用 Set 語句將一個正確的引用賦值給物件變數

。同樣地,With…End With 塊必須先用 With 語句進入點來執行初始化。此錯誤有以下的原因和解決方法:

試圖使用的物件變數,還沒有用一個正確物件的引用來賦值。
給物件變數指定或再指定一個引用。例如,如果在下列的程式碼中省略 Set 語句的話,那麼引用 MyObject 將會產生錯誤:

Dim MyObject As Object ’ 建立物件變數。
Set MyObject = Sheets(1) ’ 建立一個正確的物件引用。
MyCount = MyObject.Count ’ 計數值賦給 MyCount。

**試圖用的物件變數已經被設為 Nothing。
Set MyObject = Nothing ’ 釋放此物件。**
MyCount = MyObject.Count ’ 引用了已釋放的物件。

再指定引用給物件變數。例如,使用新的 Set 語句給物件設定新的引用。

此物件是正確的物件,但沒有被設定,因為在物件庫中,在 “引用” 對話方塊中沒有被選取。
在 “新增引用” 對話方塊選擇物件庫。

在 With 塊內GoTo 語句的去向。
不要跳進 With 塊。確保塊使用 With 語句進入點以執行初始化。

當選了 “設定下一條語句” 命令時,在 With 塊內指定了一行。
With 塊必須用 With 語句執行初始化。