求助帮忙 谢谢
Private Sub Command1_Click()
Dim a(101) As String
Dim i, j, b  As Integer
Dim c As String
Dim xlsApp As Excel.Application
Dim xlsWorkbook As Excel.Workbook
Dim xlssheet As Excel.Worksheet
Set xlsApp = CreateObject("Excel.Application")Set xlsWorkbook = xlsApp.Workbooks.Open("e:\售后服务量化指标旬报表.xls")
xlsApp.Visible = False
xlsApp.Range("A1").Select
For j = 0 To 5
     For i = 1 To 5  
     a(i) = xlsApp.ActiveCell.Offset(j, i - 1).Value
Print i;
Print " ";
Print a(i)
Next i
 Next j 
c = xlssheet.UsedRange.Rows.Count        执行到本语句中就提示错误   “对象变量或 with 块变量未设置” 
xlsWorkbook.Close
xlsApp.Quit
Set xlssheet = Nothing
Set xlsWorkbook = Nothing
Set xlsApp = Nothing
End Sub

解决方案 »

  1.   

    xlssheet.UsedRange.Rows.Count 
    以上语句是Excel的Vba语句中用法是在调试窗口中
    ?xlssheet.UsedRange.Rows.Count 
    貌似VB6.0并不支持此类用法。建议注释此句,用其它方式获取Excel表格的总行数及总列数。
    这可用Ado数据对象实现。
      

  2.   

    没看到你对xlssheet进行赋值啊
      

  3.   

    实际用打开数据库的方法打开Excel文件,在VB中是比较通用的操作方法,比使用Excel语句操作简单,而且错误几率特小,在引用中添加ADO引用即可,不需要设置某行某列,ADO对象读取是一行一行读取的。如果你想使用ADO对象的方法连接、读取、修改、删除等,我可以帮你。
      

  4.   

    谢谢诸位能给我出谋       能给个用ADO连接操作的EXCEL小实例吗?我想的是把EXCEL的数据存储到ACCESS数据库中读取里面内容进行操作,还有其他更好的方法 请给个实例  
      

  5.   

    我试验了一下诸位的建议
    Private Sub Command2_Click()
    Dim b As Integer, c As String
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=e:\售后服务量化指标旬报表.xls; Extended Properties='Excel 12.0;HDR=YES'"
    cn.Open
    Dim rs As New ADODB.Recordset
    c = "SELECT * FROM " & 2015.12 & ""   
    rs.Open c, cn, , adOpenStatic, adLockOptimistic   ’这句话无法通过 我的sheet的名称就是2015.12 我的赋值方法不对吗?
                                                                                                ‘我还试了"SELECT * FROM [" & 2015.12 & "]"这个也不行 请大家指教谢谢   
    b = rs.RecordCount
    End Sub
      

  6.   

    在Set xlsWorkbook = xlsApp.Workbooks.Open("e:\售后服务量化指标旬报表.xls")语句后加一句:Set xlssheet = xlsWorkbook.Worksheets(1)在我机器上使用是对的.