กระทู้เก่าบอร์ด อ.Yeadram
2,317 7
URL.หัวข้อ /
URL
import from excel sheet 2
คือผมมีปัญหาในการเขียน code หรือ macro ในการ import ข้อมูล จาก
excel ที่ไม่ได้อยู่ sheet แรก
คือผมเขียนแบบ basic
DoCmd.TransferSpreadsheet
มันจะ import มาแต่ sheet แรก
แต่ผมต้องการ import sheet ที่ 2,3... ด้วย
ใครพอแนะนำได้ไหมครับ
ขอบคุณล่วงหน้า
excel ที่ไม่ได้อยู่ sheet แรก
คือผมเขียนแบบ basic
DoCmd.TransferSpreadsheet
มันจะ import มาแต่ sheet แรก
แต่ผมต้องการ import sheet ที่ 2,3... ด้วย
ใครพอแนะนำได้ไหมครับ
ขอบคุณล่วงหน้า
7 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R05110
เรียน สมาชิกทุกท่าน
ในตัวอย่างที่ผมส่งไปให้ที่ accboard@gmail.com มีตัวอย่าง Code อื่นๆ ติดไปด้วยเผื่อว่า สมาชิกท่านใดต้องการจะนำไปต่อยอดอีก
ลองแกะดูนะครับ
ในตัวอย่างที่ผมส่งไปให้ที่ accboard@gmail.com มีตัวอย่าง Code อื่นๆ ติดไปด้วยเผื่อว่า สมาชิกท่านใดต้องการจะนำไปต่อยอดอีก
ลองแกะดูนะครับ
3 @R05125
อาจไม่อัตโนมัติเท่าไหร่ แต่ก็พอให้ทำงานได้ ก็คือเลื่อน sheet2 มาไว้เป็นลำดับแรกใน workbook แล้ว save ไฟล์ไป ก่อนสั่งด้วย DoCmd.TransferSpreadsheet
สรุปคือ จะ Import Sheet ไหน ก็เลื่อนมาไว้เป็นอันดับแรกเสีียก่อน
สรุปคือ จะ Import Sheet ไหน ก็เลื่อนมาไว้เป็นอันดับแรกเสีียก่อน
4 @R05133
เข้าใจครับ แต่อยากได้แบบอัตโนมัติหนะครับ เพราะจะทำไปให้ user ใช้
เดี๋ยวลองหา code ดู อาจต้องยุ่งยากสักหน่อย
ก็อาจจะใช้ผลมผสานกับ code ที่คุณ ศรีนคร แนะนำมา
คุณศรีนครครับ
พอดี code ที่โหลดมามีอยู่บรรทัดนึงเขียนว่า sleep
เข้าใจว่าเป็น api แต่มันเอาไว้ทำอะไรครับ ใช่เป็นการหน่วงเวลาหรือเปล่า
เดี๋ยวลองหา code ดู อาจต้องยุ่งยากสักหน่อย
ก็อาจจะใช้ผลมผสานกับ code ที่คุณ ศรีนคร แนะนำมา
คุณศรีนครครับ
พอดี code ที่โหลดมามีอยู่บรรทัดนึงเขียนว่า sleep
เข้าใจว่าเป็น api แต่มันเอาไว้ทำอะไรครับ ใช่เป็นการหน่วงเวลาหรือเปล่า
5 @R05135
ถูกต้องครับ
ผมใส่ไปเพื่อหน่วงเวลาเล็กน้อย แล้วให้ฟอร์มปิดตัวเอง มันจะให้ความรู้สึกที่ดีกว่า ที่ Import แล้วปิดไปเลย หรือ เวลาที่ User โอนข้อมูลเสร็จแล้วค่อยปิด
ประมาณว่า เป็นส่วนหนึ่งของ GUI..
ผมใส่ไปเพื่อหน่วงเวลาเล็กน้อย แล้วให้ฟอร์มปิดตัวเอง มันจะให้ความรู้สึกที่ดีกว่า ที่ Import แล้วปิดไปเลย หรือ เวลาที่ User โอนข้อมูลเสร็จแล้วค่อยปิด
ประมาณว่า เป็นส่วนหนึ่งของ GUI..
6 @R05138
ลองแกะดูครับ ผมเคยใช้เขียน import / export ข้อมูลจากเอ็กซ์เซลไฟล
เดี๋ยวส่งไฟล์ไปที่ accboard@gmail ไว้ให้ครับ
' Excel object variables
Dim appExcel As Excel.Application
Dim Wbk As Excel.Workbook
Dim wks As Excel.Worksheet
Dim sFileImport As String
Dim i As Integer
Dim j As Integer
Dim dbs As DAO.Database
Dim rst1 As DAO.Recordset
Const cTabTwo As Byte = 2 'Sheet 1 = 1 ; Sheet 2 = 2 Sheet 3 = 3
Const cStartRow As Byte = 2
Const cStartColumn As Byte = 1
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM " & "Table1" & ";"
DoCmd.SetWarnings True
sFileImport = CurrentProject.Path & "\EXCELSheet.xls"
Set appExcel = CreateObject("Excel.Application")
Set Wbk = appExcel.Workbooks.Open(sFileImport)
Set wks = appExcel.Worksheets(cTabTwo)
Set dbs = CurrentDb
Set rst1 = dbs.OpenRecordset("Table1")
With rst1
For i = 1 To wks.UsedRange.Rows.Count
.AddNew
!f1 = wks.Cells(i, 1)
!f2 = wks.Cells(i, 2)
.Update
Next i
End With
rst1.Close
dbs.Close
Set wks = Nothing
Set Wbk = Nothing
appExcel.Workbooks.Close
End Sub
เดี๋ยวส่งไฟล์ไปที่ accboard@gmail ไว้ให้ครับ
' Excel object variables
Dim appExcel As Excel.Application
Dim Wbk As Excel.Workbook
Dim wks As Excel.Worksheet
Dim sFileImport As String
Dim i As Integer
Dim j As Integer
Dim dbs As DAO.Database
Dim rst1 As DAO.Recordset
Const cTabTwo As Byte = 2 'Sheet 1 = 1 ; Sheet 2 = 2 Sheet 3 = 3
Const cStartRow As Byte = 2
Const cStartColumn As Byte = 1
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM " & "Table1" & ";"
DoCmd.SetWarnings True
sFileImport = CurrentProject.Path & "\EXCELSheet.xls"
Set appExcel = CreateObject("Excel.Application")
Set Wbk = appExcel.Workbooks.Open(sFileImport)
Set wks = appExcel.Worksheets(cTabTwo)
Set dbs = CurrentDb
Set rst1 = dbs.OpenRecordset("Table1")
With rst1
For i = 1 To wks.UsedRange.Rows.Count
.AddNew
!f1 = wks.Cells(i, 1)
!f2 = wks.Cells(i, 2)
.Update
Next i
End With
rst1.Close
dbs.Close
Set wks = Nothing
Set Wbk = Nothing
appExcel.Workbooks.Close
End Sub
7 @R05151
ขออนุญาติ reply ก่อนนะครับ
วันอังคารจะลองแกะดู แล้วจะมารายงานผล
แทงกิ๊วขอรับ
วันอังคารจะลองแกะดู แล้วจะมารายงานผล
แทงกิ๊วขอรับ
Time: 0.6816s
ขอเวลาไปหาตัวอย่าง Code แป็บหนึ่ง จริงๆ แล้วผมได้สร้างเป็น Module ไว้หลายแบบ สำหรับ Link กับข้อมูลได้ หลากหลายแต่ขอกั๊กไว้หน่อยคงไม่ว่ากันนะ
เดี๋ยวมา