Guest User

Untitled

a guest
Feb 24th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. Sub PasteDataFromTBLToExcel2(strTbl As String, clTopLeft As Range, Optional lngRows As Long)
  2.  
  3. Dim rst As DAO.Recordset
  4. Dim fld As DAO.Field
  5.  
  6. Dim varRng() As Variant
  7. Dim i As Long
  8. Dim j As Long
  9.  
  10. Dim lngRW As Long
  11. Dim lngCL As Long
  12. i = 0
  13. Set rst = CurrentDb.OpenRecordset(strTbl, dbOpenTable, dbReadOnly)
  14. lngRW = rst.RecordCount
  15. lngCL = rst.Fields.Count
  16.  
  17. '全データを2次元配列に格納
  18. ReDim varRng(0 To lngRW - 1, 0 To lngCL - 1) As Variant
  19. rst.MoveFirst
  20. Do While Not rst.EOF
  21. For j = 0 To lngCL - 1
  22. varRng(i, j) = rst.Fields(j).Value
  23. Next j
  24. rst.MoveNext
  25. i = i + 1
  26. Loop
  27.  
  28. ' rst.MoveFirst
  29. ' Do While Not rst.EOF
  30. ' j = 0
  31. ' For Each fld In rst.Fields
  32. ' varRng(i, j) = fld.Value
  33. ' j = j + 1
  34. ' Next
  35. ' rst.MoveNext
  36. ' i = i + 1
  37. ' Loop
  38.  
  39. rst.Close
  40.  
  41. With clTopLeft.Parent
  42. .Range(clTopLeft, clTopLeft.Offset(lngRW - 1, lngCL - 1)) = varRng
  43. End With
  44.  
  45.  
  46. End Sub
Add Comment
Please, Sign In to add comment