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 语句执行初始化。