:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#41

Post by nisit2559 »

snasui wrote::D ไม่เข้าใจครับ ชื่อไฟล์เก่าคือไฟล์ใด ช่วยอธิบายลงรายละเอียดของปัญหามาด้วยจะได้เข้าถึงปัญหาโดยเร็วครับ
คือว่าผมใช้โค้ดที่ปรับแล้วดังที่ส่งไปนะครับโดยต้องการให้มันเซฟชื่อไฟล์เป็นวันเดือนปีของวันที่ทำการเซฟโดยดึงเอาค่ามาจาก cell A2 Sheet1ครับแล้วมันเซฟมาเป็นชื่ออื่นซึ่งผมได้ทำการส่งชื่อไฟล์ที่มันเซฟมาให้แล้วผมอยากจะทราบวิธีการเปลี่ยนโค้ดให้มันเซฟไฟล์เป็นวันที่ให้ตามที่ต้องการได้ครับขอบคุณครับ :D
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#42

Post by nisit2559 »

nisit2559 wrote:
snasui wrote::D ไม่เข้าใจครับ ชื่อไฟล์เก่าคือไฟล์ใด ช่วยอธิบายลงรายละเอียดของปัญหามาด้วยจะได้เข้าถึงปัญหาโดยเร็วครับ
คือว่าผมใช้โค้ดที่ปรับแล้วดังที่ส่งไปนะครับโดยต้องการให้มันเซฟชื่อไฟล์เป็นวันเดือนปีของวันที่ทำการเซฟโดยดึงเอาค่ามาจาก cell A2 Sheet1ครับแล้วมันเซฟมาเป็นชื่ออื่นซึ่งผมได้ทำการส่งชื่อไฟล์ที่มันเซฟมาให้แล้วผมอยากจะทราบวิธีการเปลี่ยนโค้ดให้มันเซฟไฟล์เป็นวันที่ให้ตามที่ต้องการได้ครับขอบคุณครับ :D
ส่วนชื่อไฟล์เก่าคือ boox1 ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#43

Post by snasui »

:D สรุปว่าต้องการจะ Save File ตามชื่อในเซลล์ที่กำหนด พร้อมกับวัน เดือน ปี แต่เมื่อมีการ Save จริงไม่เป็นไปตามที่กำหนด เช่นนี้ถูกต้องหรือไม่ครับ

หากเป็นเช่นนั้นจะต้องแก้ไข Code ที่ทำการ Save File ช่วยแนบไฟล์นั้นมาใหม่ จะได้ช่วยทดสอบให้ครับ
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#44

Post by nisit2559 »

ใช่ครับนี้ครับไฟล์ใหม่
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#45

Post 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 ที่เกี่ยวข้องกับปัญหานี้ก็พอจะได้เข้าถึงปัญหาและข้อมูลได้โดยไวครับ
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#46

Post 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 ก็ตามโค้ดเก่าเลยครับยังไม่ได้เปลี่ยนแปลงครับขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#47

Post by snasui »

:D ไฟล์ที่แนบมาล่าสุดไม่พบว่ามีชีต Calculation ครับ
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#48

Post by nisit2559 »

snasui wrote::D ไฟล์ที่แนบมาล่าสุดไม่พบว่ามีชีต Calculation ครับ
มันไม่สามารแนบมาได้ครับไฟล์มันใหญ่เกินไปครับแต่ผมลองเปลี่ยนค่าในเซลล์ให้ A2 Sheet1 แล้วครับตามไฟล์ที่แนบมาเลยครับ
You do not have the required permissions to view the files attached to this post.
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#49

Post by nisit2559 »

ผมลองดูแล้วครับถ้ากดรันโดยตรงมนจะได้ครับแต่ถ้าใช้การเปิดโดน job มันจะไม่ได้ครับไม่ทราบว่าเกี่ยวกับการที่ใช้การเปิดโปรแกรมเป็นตัวเรียกโค้ดมาหรือเปล่าครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#50

Post by snasui »

nisit2559 wrote:
snasui wrote: :D ไฟล์ที่แนบมาล่าสุดไม่พบว่ามีชีต Calculation ครับ
มันไม่สามารแนบมาได้ครับไฟล์มันใหญ่เกินไปครับแต่ผมลองเปลี่ยนค่าในเซลล์ให้ A2 Sheet1 แล้วครับตามไฟล์ที่แนบมาเลยครับ
:D ไม่จำเป็นต้องแนบไฟล์จริงมา แนบตัวอย่างมาก็พอ ตัดมาเฉพาะที่เกี่ยวข้อง อธิบายขั้นตอนการทำงาน ผมจะได้ทดสอบตามนั้นครับ
nisit2559 wrote:ผมลองดูแล้วครับถ้ากดรันโดยตรงมนจะได้ครับแต่ถ้าใช้การเปิดโดน job มันจะไม่ได้ครับไม่ทราบว่าเกี่ยวกับการที่ใช้การเปิดโปรแกรมเป็นตัวเรียกโค้ดมาหรือเปล่าครับ
ในการเปิดจาก Job เราจะให้ Code ทำงานเมื่อเปิดไฟล์เลยทันที การเปิดด้วย Job กับเปิดด้วย Manual ไม่ควรจะมีความแตกต่างกันครับ

กลับมาที่ปัญหาของการ Save ชื่อไฟล์ ยังมีปัญหาอยู่หรือไม่ อย่างไร แนบทุกไฟล์พร้อม Code ล่าสุดที่เป็นปัจจุบันมาพร้อมกันทีเดียว เฉพาะที่เกี่ยวข้องกับปัญหานั้น ช่วยลำดับหลักการทำงานและผลลัพธ์ที่ถูกต้อง ผมจะได้ช่วยทดสอบให้ได้ครับ
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#51

Post 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ใช้อันนี้เลยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#52

Post 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
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#53

Post 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ตัวใหม่อย่างไรครับถ้าชื่อมันเปลี่ยนไปเรื่อยๆหรือต้องกำหนดตัวแปรครับ
User avatar
logic
Gold
Gold
Posts: 1506
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

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

#54

Post by logic »

nisit2559 wrote:ถ้าชื่อมันเปลี่ยนไปเรื่อยๆหรือต้องกำหนดตัวแปรครับ
ปกติผมใช้แบบนี้เลยครับ กำหนดตัวแปรให้กับไฟล์ใหม่ :)
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#55

Post by nisit2559 »

logic wrote:
nisit2559 wrote:ถ้าชื่อมันเปลี่ยนไปเรื่อยๆหรือต้องกำหนดตัวแปรครับ
ปกติผมใช้แบบนี้เลยครับ กำหนดตัวแปรให้กับไฟล์ใหม่ :)
ขอบคุณครับทำได้เรียบร้อยละครับ
Post Reply