Page 3 of 3
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Fri Nov 03, 2017 7:56 am
by nisit2559
snasui wrote:
ไม่เข้าใจครับ ชื่อไฟล์เก่าคือไฟล์ใด ช่วยอธิบายลงรายละเอียดของปัญหามาด้วยจะได้เข้าถึงปัญหาโดยเร็วครับ
คือว่าผมใช้โค้ดที่ปรับแล้วดังที่ส่งไปนะครับโดยต้องการให้มันเซฟชื่อไฟล์เป็นวันเดือนปีของวันที่ทำการเซฟโดยดึงเอาค่ามาจาก cell A2 Sheet1ครับแล้วมันเซฟมาเป็นชื่ออื่นซึ่งผมได้ทำการส่งชื่อไฟล์ที่มันเซฟมาให้แล้วผมอยากจะทราบวิธีการเปลี่ยนโค้ดให้มันเซฟไฟล์เป็นวันที่ให้ตามที่ต้องการได้ครับขอบคุณครับ

Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Fri Nov 03, 2017 7:57 am
by nisit2559
nisit2559 wrote:snasui wrote:
ไม่เข้าใจครับ ชื่อไฟล์เก่าคือไฟล์ใด ช่วยอธิบายลงรายละเอียดของปัญหามาด้วยจะได้เข้าถึงปัญหาโดยเร็วครับ
คือว่าผมใช้โค้ดที่ปรับแล้วดังที่ส่งไปนะครับโดยต้องการให้มันเซฟชื่อไฟล์เป็นวันเดือนปีของวันที่ทำการเซฟโดยดึงเอาค่ามาจาก cell A2 Sheet1ครับแล้วมันเซฟมาเป็นชื่ออื่นซึ่งผมได้ทำการส่งชื่อไฟล์ที่มันเซฟมาให้แล้วผมอยากจะทราบวิธีการเปลี่ยนโค้ดให้มันเซฟไฟล์เป็นวันที่ให้ตามที่ต้องการได้ครับขอบคุณครับ

ส่วนชื่อไฟล์เก่าคือ boox1 ครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Fri Nov 03, 2017 6:56 pm
by snasui

สรุปว่าต้องการจะ Save File ตามชื่อในเซลล์ที่กำหนด พร้อมกับวัน เดือน ปี แต่เมื่อมีการ Save จริงไม่เป็นไปตามที่กำหนด เช่นนี้ถูกต้องหรือไม่ครับ
หากเป็นเช่นนั้นจะต้องแก้ไข Code ที่ทำการ Save File ช่วยแนบไฟล์นั้นมาใหม่ จะได้ช่วยทดสอบให้ครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Sat Nov 04, 2017 1:44 am
by nisit2559
ใช่ครับนี้ครับไฟล์ใหม่
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Sat Nov 04, 2017 7:47 am
by snasui

จาก Code ด้านล่าง
Code: Select all
Sub saveflie()
'Workbooks("boox1.xlsx").SaveAs Filename:="D:\MMCT\data\" & Application.Text(Worksheets("Sheet1").Range("A2").Value, "ddmmyy") & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
ในส่วนของ
Worksheets("Sheet1").Range("A2").Value เป็นการนำค่าเซลล์ A2 ของ Sheet1 ของไฟล์โปรแกรมมาบันทึกเป็นชื่อไฟล์ใหม่ แต่ในเซลล์ดังกล่าวไม่มีค่าใด ๆ ไม่ทราบว่าที่ถูกต้องแล้วต้องการจะอ้างอิงจากเซลล์ใดของชีตใดของไฟล์ใดครับ
ช่วยแจ้งว่าในขั้นตอนการเปิดไฟล์ที่ Save ไว้ อ้างชื่อไฟล์ที่จะเปิดไว้อย่างไร ใช้ Procedure ใดในการเปิดไฟล์ครับ ลองลำดับวิธีการทำงานนี้ที่เป็นปัญหามาเป็นข้อ ๆ จะได้ทดสอบตามลำดับนั้น ตัดมาเฉพาะ Code ที่เกี่ยวข้องกับปัญหานี้ก็พอจะได้เข้าถึงปัญหาและข้อมูลได้โดยไวครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Wed Nov 08, 2017 7:41 am
by nisit2559
ถ้าใช้เซลล์ G46 ของชีต Calculation ครับจะใช้ได้ไหมครับและพอเซฟแล้วจากที่ตอนแรกเปิดไฟล์ boox1.xlsxก็ถูกเปลี่ยนเป็นชื่อไฟล์ที่ถูกเซฟเลยครับส่วนโค้ดที่เกี่ยนข้องก็จะเป็น
Code: Select all
If data_sheet1 = "" Then
Other Procedure.....If data_sheet2 = "" Then
Call copyfile1.... Other Procedure
Else
Call saveflie
End If
saveflie ก็ตามโค้ดเก่าเลยครับยังไม่ได้เปลี่ยนแปลงครับขอบคุณครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Wed Nov 08, 2017 6:34 pm
by snasui

ไฟล์ที่แนบมาล่าสุดไม่พบว่ามีชีต Calculation ครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Fri Nov 10, 2017 8:36 am
by nisit2559
snasui wrote:
ไฟล์ที่แนบมาล่าสุดไม่พบว่ามีชีต Calculation ครับ
มันไม่สามารแนบมาได้ครับไฟล์มันใหญ่เกินไปครับแต่ผมลองเปลี่ยนค่าในเซลล์ให้ A2 Sheet1 แล้วครับตามไฟล์ที่แนบมาเลยครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Fri Nov 10, 2017 9:00 am
by nisit2559
ผมลองดูแล้วครับถ้ากดรันโดยตรงมนจะได้ครับแต่ถ้าใช้การเปิดโดน job มันจะไม่ได้ครับไม่ทราบว่าเกี่ยวกับการที่ใช้การเปิดโปรแกรมเป็นตัวเรียกโค้ดมาหรือเปล่าครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Sat Nov 11, 2017 4:18 pm
by snasui
nisit2559 wrote:snasui wrote: 
ไฟล์ที่แนบมาล่าสุดไม่พบว่ามีชีต Calculation ครับ
มันไม่สามารแนบมาได้ครับไฟล์มันใหญ่เกินไปครับแต่ผมลองเปลี่ยนค่าในเซลล์ให้ A2 Sheet1 แล้วครับตามไฟล์ที่แนบมาเลยครับ

ไม่จำเป็นต้องแนบไฟล์จริงมา แนบตัวอย่างมาก็พอ ตัดมาเฉพาะที่เกี่ยวข้อง อธิบายขั้นตอนการทำงาน ผมจะได้ทดสอบตามนั้นครับ
nisit2559 wrote:ผมลองดูแล้วครับถ้ากดรันโดยตรงมนจะได้ครับแต่ถ้าใช้การเปิดโดน job มันจะไม่ได้ครับไม่ทราบว่าเกี่ยวกับการที่ใช้การเปิดโปรแกรมเป็นตัวเรียกโค้ดมาหรือเปล่าครับ
ในการเปิดจาก Job เราจะให้ Code ทำงานเมื่อเปิดไฟล์เลยทันที การเปิดด้วย Job กับเปิดด้วย Manual ไม่ควรจะมีความแตกต่างกันครับ
กลับมาที่ปัญหาของการ Save ชื่อไฟล์ ยังมีปัญหาอยู่หรือไม่ อย่างไร แนบทุกไฟล์พร้อม Code ล่าสุดที่เป็นปัจจุบันมาพร้อมกันทีเดียว เฉพาะที่เกี่ยวข้องกับปัญหานั้น ช่วยลำดับหลักการทำงานและผลลัพธ์ที่ถูกต้อง ผมจะได้ช่วยทดสอบให้ได้ครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Mon Nov 13, 2017 7:47 am
by nisit2559
ใช่ครับคือต้อนผมกดรันในตัวหน้าที่เขียนโค้ดครับแล้วมันเซฟเป็นชื่อวันที่ได้แต่พอผมให้มันรันตอนเปิด Job แล้วพอเซฟมันจะเป็นชื่ออื่นครับ โดยหลักการทำงานคือผมจะให้มันดูค่าที่เซลล์ B1441 ก่อนว่ามีค่าไหมถ้าไม่มีให้ไปเงื่อนไขอื่นแต่ถ้ามีให้ทำการเซฟไฟล์ครับแล้วนี้เป็นโค้ดล่าสุดครับผมทำงานแค่ในไมโคร1อย่างเดียวครับตอนนี้
Code: Select all
Dim data_sheet1 As Variant
data_sheet1 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1441").Value....
Other code .... If data_sheet1 = "" Then.....Other code..... Else
Workbooks("boox1.xlsx").SaveAs Filename:="D:\MMCT\data\" & Application.Text(Worksheets("Sheet1").Range("A2").Value, "ddmmyy") & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End If....Other code
ครับ ส่วนไฟล์ Boox1ใช้อันนี้เลยครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Mon Nov 13, 2017 7:49 pm
by snasui

ตัวอย่างการปรับ Code ให้อ้างถึง Workbook เป้าหมายตอน Save ครับ
Code: Select all
'Other code
Else
Workbooks("boox1.xlsx").SaveAs Filename:="D:\MMCT\data\" & _
Application.Text(Workbooks("boox1.xlsx").Worksheets("Sheet1").Range("A2").Value, "ddmmyy") & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End If
'Other code
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Tue Nov 14, 2017 8:17 am
by nisit2559
snasui wrote:
ตัวอย่างการปรับ Code ให้อ้างถึง Workbook เป้าหมายตอน Save ครับ
Code: Select all
'Other code
Else
Workbooks("boox1.xlsx").SaveAs Filename:="D:\MMCT\data\" & _
Application.Text(Workbooks("boox1.xlsx").Worksheets("Sheet1").Range("A2").Value, "ddmmyy") & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End If
'Other code
ขอบคุณครับแล้วถ้าผมต้องการจะปิดไฟล์ที่เซฟมาใหม่ผมต้องอ้างworkbooksตัวใหม่อย่างไรครับถ้าชื่อมันเปลี่ยนไปเรื่อยๆหรือต้องกำหนดตัวแปรครับ
Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Tue Nov 14, 2017 9:38 am
by logic
nisit2559 wrote:ถ้าชื่อมันเปลี่ยนไปเรื่อยๆหรือต้องกำหนดตัวแปรครับ
ปกติผมใช้แบบนี้เลยครับ กำหนดตัวแปรให้กับไฟล์ใหม่

Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ
Posted: Wed Nov 15, 2017 3:36 pm
by nisit2559
logic wrote:nisit2559 wrote:ถ้าชื่อมันเปลี่ยนไปเรื่อยๆหรือต้องกำหนดตัวแปรครับ
ปกติผมใช้แบบนี้เลยครับ กำหนดตัวแปรให้กับไฟล์ใหม่

ขอบคุณครับทำได้เรียบร้อยละครับ