Page 3 of 3

Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ

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

Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ

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

Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ

Posted: Fri Nov 03, 2017 6:56 pm
by snasui
:D สรุปว่าต้องการจะ 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
:D จาก 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
:D ไฟล์ที่แนบมาล่าสุดไม่พบว่ามีชีต Calculation ครับ

Re: สอบถามเกี่ยวกับโค้ดดึงข้อมูลครับ

Posted: Fri Nov 10, 2017 8:36 am
by nisit2559
snasui wrote::D ไฟล์ที่แนบมาล่าสุดไม่พบว่ามีชีต 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: :D ไฟล์ที่แนบมาล่าสุดไม่พบว่ามีชีต Calculation ครับ
มันไม่สามารแนบมาได้ครับไฟล์มันใหญ่เกินไปครับแต่ผมลองเปลี่ยนค่าในเซลล์ให้ A2 Sheet1 แล้วครับตามไฟล์ที่แนบมาเลยครับ
:D ไม่จำเป็นต้องแนบไฟล์จริงมา แนบตัวอย่างมาก็พอ ตัดมาเฉพาะที่เกี่ยวข้อง อธิบายขั้นตอนการทำงาน ผมจะได้ทดสอบตามนั้นครับ
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
:D ตัวอย่างการปรับ 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::D ตัวอย่างการปรับ 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:ถ้าชื่อมันเปลี่ยนไปเรื่อยๆหรือต้องกำหนดตัวแปรครับ
ปกติผมใช้แบบนี้เลยครับ กำหนดตัวแปรให้กับไฟล์ใหม่ :)
ขอบคุณครับทำได้เรียบร้อยละครับ