Private Sub Command1_Click()
 Set ex = CreateObject("Excel.Application")
 Set wb = ex.workbooks.Open(CommonDialog1.FileName)MsgBox ex.ActiveSheet.UsedRange.Rows.Count  '行
MsgBox ex.ActiveSheet.UsedRange.Columns.Count  '列
 wb.Close
 ex.Quit
End Sub这样只可得到Sheets1 中的已用行
而我想得到 sheets5 中的第I列有几行数据   大牛们给点提示

解决方案 »

  1.   

    wb.Worksheets(5).Select
    MsgBox ex.Application.WorksheetFunction.CountA(Columns("I:I"))
      

  2.   

    先引用excel *.0 object library
    Private Sub Command1_Click()
        Dim ex As Excel.Application
        Dim wb As Excel.Workbook
        CommonDialog1.ShowOpen
        Set ex = CreateObject("Excel.Application")
        Set wb = ex.workbooks.Open(CommonDialog1.FileName)
        wb.Worksheets(5).Select
        MsgBox ex.ActiveSheet.UsedRange.Rows.Count  '行
         MsgBox ex.ActiveSheet.UsedRange.Columns.Count  '列
         MsgBox ex.Application.WorksheetFunction.CountA(Columns("I:I"))
        wb.Close
        ex.Quit
    End Sub