返回列表 上一主題 發帖

[發問] Excel問題

本帖最後由 lpk187 於 2015-10-25 11:47 編輯

回復 1# 黃志全


    若用一般函數!我不會,不過利用VBA可以很容易達成你需要的答案
  1. Public Sub ex()
  2.     Dim myCon As Object
  3.     Dim myRs As Object
  4.     Dim TabName$, Sql$, i, arr
  5.     Set myCon = CreateObject("ADODB.Connection")
  6.     Set myRs = CreateObject("ADODB.Recordset")
  7.     myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & _
  8.                "Data Source=" & ThisWorkbook.Path & "\人員.accdb;" '路徑用本程式路徑相同資料庫名稱為"人員.accdb"
  9.     TabName = "人員" 'Tabel 名稱
  10.     Sql = "SELECT * FROM " & TabName & "';" 'SQL語法,在 TabName 表單中拿出所有項目
  11.     Set myRs = myCon.Execute(Sql)
  12.     arr = myRs.GetRows '取出 Recordset 的項目成為陣列
  13.     For i = 0 To UBound(arr, 2)
  14.         Cells(arr(1, i), arr(2, i)) = arr(0, i) '
  15.     Next
  16.     myRs.Close
  17.     myCon.Close
  18.     Set myRs = Nothing
  19.     Set myCon = Nothing
  20. End Sub
複製代碼

TOP

回復 4# yen956


    謝謝更正,把arr = myRs.GetRows取出陣列,只是讓人家容易在區域變數視窗中觀察其中的值,也沒有比較快,
利於學習而已,實際上還是要用你的方式去做

TOP

        靜思自在 : 能付出愛心就是福,能消除煩惱就是慧。
返回列表 上一主題