VB控制Excel工作薄实例精选一

前端之家收集整理的这篇文章主要介绍了VB控制Excel工作薄实例精选一前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、获取Excel工作薄所有Sheet表名称、Sheet表的个数、删除指定Sheet表:

  1. '先引用对象库:Microsoft Excel 11.0 Object Library
  2. Option Explicit
  3. Dim xlExcel As Excel.Application
  4. Dim xlBook As Excel.Workbook
  5. Dim xlSheet As Excel.Worksheet
  6.  
  7. Private Sub Command1_Click()
  8. On Error GoTo Errhandler
  9. CommonDialog1.Filter = "Excel(*.xls)|*.xls|AllFile(*.*)|*.*"
  10. CommonDialog1.FilterIndex = 1
  11. CommonDialog1.ShowOpen
  12. Set xlExcel = New Excel.Application
  13. xlExcel.Workbooks.Open CommonDialog1.FileName
  14. Set xlBook = xlExcel.Workbooks(CommonDialog1.FileTitle)
  15. Application.Visible = False
  16. Application.DisplayAlerts = False '提示保存对话框
  17. Debug.Print xlBook.Worksheets.Count 'Sheet表的个数
  18. For Each xlSheet In xlBook.Worksheets
  19. Set xlSheet = xlBook.Worksheets(xlSheet.Name)
  20. Debug.Print xlSheet.Name '列出所有Sheet
  21. If xlSheet.Name = "Sheet5" Then xlSheet.Delete '删除Sheet5表
  22. Next
  23. xlBook.Save
  24. Errhandler:
  25. xlBook.Close
  26. xlExcel.Quit
  27. Set xlSheet = Nothing
  28. Set xlBook = Nothing
  29. Set xlExcel = Nothing
  30. End Sub


2、获取Excel工作薄某Sheet表有效数据的行数、列数:

  1. '先引用对象库:Microsoft Excel 11.0 Object Library
  2. Option Explicit
  3. Dim xlExcel As Excel.Application
  4. Dim xlBook As Excel.Workbook
  5. Dim xlSheet As Excel.Worksheet
  6.  
  7. Private Sub Command1_Click()
  8. On Error GoTo Errhandler
  9. CommonDialog1.Filter = "Excel(*.xls)|*.xls|AllFile(*.*)|*.*"
  10. CommonDialog1.FilterIndex = 1
  11. CommonDialog1.ShowOpen
  12. Set xlExcel = New Excel.Application
  13. xlExcel.Workbooks.Open CommonDialog1.FileName
  14. Set xlBook = xlExcel.Workbooks(CommonDialog1.FileTitle)
  15. Application.Visible = False
  16. Set xlSheet = xlBook.Worksheets("Sheet1") '或者xlBook.Sheets("Sheet1").Select'指定Sheet表
  17. Debug.Print xlExcel.ActiveSheet.UsedRange.Rows.Count '有效数据行数
  18. Debug.Print xlExcel.ActiveSheet.UsedRange.Columns.Count '有效数据列数
  19. Errhandler:
  20. xlBook.Close
  21. xlExcel.Quit
  22. Set xlSheet = Nothing
  23. Set xlBook = Nothing
  24. Set xlExcel = Nothing
  25. End Sub
  26.  
3、用数组填充Excel某区域
  1. '先引用对象库:Microsoft Excel 11.0 Object Library
  2. Option Explicit
  3.  
  4. Dim xlExcel As New Excel.Application
  5. Dim xlBook As Excel.Workbook
  6. Dim xlSheet As Excel.Worksheet
  7.  
  8. Private Sub Command1_Click()
  9.  
  10. Dim Data(1 To 200,1 To 10) As String
  11. Dim i As Long,j As Long
  12. For i = 1 To 200
  13. For j = 1 To 10
  14. Data(i,j) = j
  15. Next
  16. Next
  17. On Error GoTo Errhandler
  18. xlExcel.Application.Visible = True
  19. Me.MousePointer = vbHourglass
  20. xlExcel.Workbooks.Add '创建新的工作薄
  21. xlExcel.Workbooks(1).Activate '激活工作薄
  22. Set xlSheet = xlExcel.Workbooks(1).Worksheets("Sheet1") '指定Sheet
  23. 'Set xlSheet = xlBook.Worksheets("Sheet1")
  24. xlSheet.Activate
  25. xlSheet.Columns("A:J").NumberFormatLocal = "@" '设置A-J列为文本格式。
  26. '或者xlSheet.Range("A:J").NumberFormatLocal = "@"
  27. xlSheet.Range("A1:J200 ") = Data '填充数组到区域A1J200
  28. xlSheet.Columns.EntireColumn.AutoFit '列自适应
  29. Me.MousePointer = vbDefault
  30. Errhandler:
  31. Exit Sub
  32. End Sub
  33.  
  34. Private Sub Form_Unload(Cancel As Integer)
  35. On Error Resume Next
  36. xlBook.Close
  37. xlExcel.Quit
  38. Set xlSheet = Nothing
  39. Set xlBook = Nothing
  40. Set xlExcel = Nothing
  41. End Sub

猜你在找的VB相关文章