: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
snasui
Site Admin
Site Admin
Posts: 30938
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแปลงข้อมูล

#61

Post by snasui »

:lol:
Bafnet wrote:Sheet10.Range("A1:T" & n & ") มันบัคครับ
ลองเปลี่ยนเป็นแบบนี้แทนครับ

Code: Select all

Sheet10.Range("A1:T" & n)
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#62

Post by Bafnet »

สวัสดีครับ :roll:
คิดว่าจะเสร็จงานได้ในค่ำคืนนี้เพราะต้องส่งงานวันที่8นี้
การเลื่อนงวดมีปัญหาครับ
หากอาจารย์ตื่นมาและได้เข้ามารบกวนดูให้ผมหน่อยนะครับ
ลองรันโปรแกรมสัญญาแรกก็เจออย่างจังครับ
REงวดชำระ1.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30938
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแปลงข้อมูล

#63

Post by snasui »

:D ลองดูตัวอย่างการปรับสูตรตามไฟล์แนบ ซึ่งต้องปรับหลาย ๆ สูตรตามเงื่อนไขที่เพิ่มเข้ามาและจะยิ่งซับซ้อนขึ้นเรื่อย ๆ ครับ สำหรับการปัดเศษให้ศึกษาเพิ่มเติมได้จากที่นี่ครับ http://office.microsoft.com/th-th/excel ... 56144.aspx
You do not have the required permissions to view the files attached to this post.
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#64

Post by Bafnet »

:lol: สวัสดีครับ
ขอบคุณมากครับสำหรับทุกทางแก้ที่มีให้
เริ่มจะเข้าใจสูตรการหาจำนวนบรรทัด
และเริ่มเขียน If :ซ้อนเงื่อนไขเพื่อดักความเป็นไปได้ที่จะเกิดกรณีต่างๆขึ้น
คิดว่าน่าจะสำเร็จ
ขอขอบคุณอาจารย์อีกครั้ง
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#65

Post by Bafnet »

สวัสดีครับอาจารย์
อาจารย์สบายดีนะครับ ผมไม่ได้เข้ามาหลายวัน
ไปทำใจมาครับ ก็ทำโปรแกรมนี้จนเสร็จ แล้วผมก็นำไปทำตัวติดตั้ง
ปรากฎว่าไฟล์พังไปเลยครับ :oops: เปิดไม่ได้มันบอกว่าส่วนขยายผิด
ก็เลยต้องนั่งทำใหม่ซึ่งมีสำเนาอยู่ แต่ห่างจากวันที่สำเร็จย้อนหลังไป5 วัน
วันนี่ก็เสร็จแล้วครับ
มีคำถามอีกสักเล็กน้อย
อาจารย์ครับผมไม่ต้องการให้ผู้ใช้เพิ่มชีทใดๆในโปรแกรมนี้ (ไม่ใช่คำสั่งปิดแท็ปแผ่นงานนะครับ)
จะเขียนคำสั่งตอน Workboos Open อย่างไรครับ
ขอบคุณครับ :|
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#66

Post by Bafnet »

สวัสดีครับ
อีกนิดหนึ่งครับ
เวลา Coppy File และเปิดโปรแกรม
ด้านบนใกล้แถบสูตร มันจะปรากฏแถบสีเหลืองพร้อมปุ่มที่บอกว่าเปิดใช้เนื้อหา
รบกวนอาจารย์แนะคำสั่งที่ให้เปิดการใช้เนื้อหาโดยอัตโนมัติ
ตอนนี้ผมมีแค่คำสั่งเดียวครับ

Code: Select all

Private Sub Workbook_Open()
Application.AskToUpdateLinks = False
ห้ามเพิ่มชีท
ให้เปิดการใช้งาน=True
End Sub
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30938
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแปลงข้อมูล

#67

Post by snasui »

:D ช่วยจับภาพหน้าจอแสดงข้อความที่ว่านั้นมาให้ดูหน่อยครับ
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#68

Post by Bafnet »

สวัสดีครับ
หวังว่าอาจารย์คงยังอยู่นะครับ อยากให้สำเร็จในค่ำคืนนี้ครับ
sd.jpg
ขอห้ามเพิ่มชีทด้วยนะครับ :mrgreen:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30938
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแปลงข้อมูล

#69

Post by snasui »

Bafnet wrote:โค้ด: เลือกทั้งหมด
Private Sub Workbook_Open()
Application.AskToUpdateLinks = False
ห้ามเพิ่มชีท
ให้เปิดการใช้งาน=True
End Sub
ลองตามนี้ครับ

Code: Select all

Private Sub Workbook_Open()
Application.AskToUpdateLinks = False
ActiveProtectedViewWindow.Close
ActiveWorkbook.Protect Structure:=True
End Sub
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#70

Post by Bafnet »

สวัสดีครับอาจารย์
ตอนนี้งานเสร็จแล้วครับแต่รู้สึกว่าแปลกๆอยู่
ขอปรึกษาหน่อยนะครับ
ในชิ้นงานนี้ ในVb /tool/references เราได้มีการกำหนดค่าไว้
มันจะส่งผลไหมครับเมื่อนำ ชิ้นงานที่ผมสร้างขึ้นนี้ไปติดตั้งและเปิดกับเครื่องอื่นๆ
c.jpg
รวมถึงเรื่องการกำหนดค่าความปลอดภัยของมาโคร
เมื่อสักครู่ได้ลองนำไปติดตั้ง มันมีอาการลักษณะอย่างนี้ครับ
c1.jpg
อาจารย์ครับผมต้องการให้มันใช้ได้เมื่อนำไปใช้เครื่องอื่น
เราจะทำอย่างไรครับเพื่อให้เมื่อเปิดไฟล์ คุณสมบัติต่างๆรวมถึงระดับความปลอดภัยของมาโคร
ถูกเปิดใช้งานคือพร้อมใช้ ผู้ใช้สามารถใช้ได้เลย ผมไม่รู้จะอธิบายอย่างไร :roll:
แต่หวังว่าอาจารย์คงเข้าใจถึงความต้องการ
รบกวนด้วยนะครับ
Private Sub Workbook_Open()
Application.AskToUpdateLinks = False
ActiveProtectedViewWindow.Close
ActiveWorkbook.Protect Structure:=True
End Sub
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30938
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแปลงข้อมูล

#71

Post by snasui »

:D ความปลอดภัยของ Macro และการกำหนดค่า Reference จะขึ้นอยู่กับโปรแกรมไม่ได้ขึ้นกับไฟล์ ดังนั้น เครื่องไหนที่จะนำไฟล์ไปใช้ก็ต้องกำหนดค่าใหม่ครับ
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#72

Post by Bafnet »

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

Re: การแปลงข้อมูล

#73

Post by snasui »

แนะนำไปแล้วครับ :lol: :ard:
snasui wrote: :D ความปลอดภัยของ Macro และการกำหนดค่า Reference จะขึ้นอยู่กับโปรแกรมไม่ได้ขึ้นกับไฟล์ ดังนั้น เครื่องไหนที่จะนำไฟล์ไปใช้ก็ต้องกำหนดค่าใหม่ครับ
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#74

Post by Bafnet »

สวัสดีครับอาจารย์
ตอนนี้กำลังทดสอบครับ
มีปัญหามาเรียนถามหน่อยครับ
ผมนำไฟล์ดังกล่าวไปสร้างเป็นไฟล์Setup
ซึ่งก็ใช้ได้ครับ
แต่สงสัยอยู่ว่าพอเปิดไฟล์ คุณลักษณะที่มันแจ้งด้านบนว่าเป็น Read-only
ทำให้ไม่สามารถบันทึกไฟล์ได้
ทั้งๆที่คำสั่งตอนเปิดผมก็มีเพียงคำสั่งด้านล่างนี้เพียงคำสั่งเดียว

Code: Select all

Private Sub Workbook_Open()
Application.AskToUpdateLinks = False
End Sub
ถ้าจะเขียนคำสั่งให้เมื่อเปิดไม่ใช่เป็น Read-Only ต้องทำอย่างไรครับ
รบกวนด้วยนะครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30938
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแปลงข้อมูล

#75

Post by snasui »

:sg: ลองทดสอบวิธีอ้อม ๆ ดูครับ สร้างไฟล์ชื่อ Temp.xls มา 1 ไฟล์ ใน ThisWorkbook ให้นำ Code นี้ไปวาง

Code: Select all

Private Sub Workbook_Open()
    Workbooks.Open Filename:="D:\Bookx1.xls", _
    ignorereadonlyrecommended:=True
    Workbooks("Temp.xls").Close False
End Sub
เมื่อเปิดไฟล์ Temp แล้ว Code ในไฟล์ Temp ไปเปิดไฟล์ Bookx1 ที่เก็บใน Path D: โดยกำหนดให้เปิดด้วยการ Ignore read only จากนั้นปิดไฟล์ Temp ลง ได้ผลหรือไม่แจ้งด้วยครับ
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#76

Post by Bafnet »

สวัสดีครับอาจารย์
ต้องขออภัยที่แจ้งมาผมไม่ค่อยเข้าใจ
snasui wrote:ลองทดสอบวิธีอ้อม ๆ ดูครับ สร้างไฟล์ชื่อ Temp.xls มา 1 ไฟล์ ใน ThisWorkbook ให้นำ Code นี้ไปวาง
โค้ด: เลือกทั้งหมด
Private Sub Workbook_Open()
Workbooks.Open Filename:="D:\Bookx1.xls", _
ignorereadonlyrecommended:=True
Workbooks("Temp.xls").Close False
End Sub
เมื่อเปิดไฟล์ Temp แล้ว Code ในไฟล์ Temp ไปเปิดไฟล์ Bookx1 ที่เก็บใน Path D:
ตอนนี้ไฟล์ที่ชื่อ DumP.xlsm ถูกติดตั้งที่ C:\Program files\DumP
Bookx1.xls อาจารย์หมายถึงไฟล์งานผม ในที่นี้คือ DumP.xlsm หรือเปล่าครับ
ไฟล์ที่ชื่อ Temp.xls ให้สร้างไว้ที่ตำแหน่งไหนครับ

Private Sub Workbook_Open()
Workbooks.Open Filename:="C:\Program files\DumP\DumP.xlsm", _
ignorereadonlyrecommended:=True
Workbooks("Temp.xls").Close False
End Sub

หรือว่าใส่ทุกอย่างเหมือนที่อาจารย์บอกมา ตือผมงงๆเพราะมันเป็นตำแหน่ง :D
รบกวนอธิบายอีกครั้งนะครับ ขออภัยจริงๆครับ
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#77

Post by Bafnet »

สวัสดีครับอาจารย์
ผมคิดว่าปัญหาน่ามาจากระบบป้องกันของวินโดว์
เพราะลองย้ายไฟล์ออกจากProgram files มาไว้ใน:C เฉย
เปิดก็เป็นปกติ :cry:
แต่อยากทดลองวิธีที่อาจารย์บอกก่อนครับ
ถ้าสุดท้ายไม่ได้จริงก็คงต้องแก้ Code กันใหม่ทั้งหมดเหนื่อยครับๆ :roll:
User avatar
snasui
Site Admin
Site Admin
Posts: 30938
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแปลงข้อมูล

#78

Post by snasui »

Bafnet wrote:ตอนนี้ไฟล์ที่ชื่อ DumP.xlsm ถูกติดตั้งที่ C:\Program files\DumP
Bookx1.xls อาจารย์หมายถึงไฟล์งานผม ในที่นี้คือ DumP.xlsm หรือเปล่าครับ
คำตอบคือ ใช่ครับ
Bafnet wrote:ไฟล์ที่ชื่อ Temp.xls ให้สร้างไว้ที่ตำแหน่งไหนครับ
ตำแหน่งไหนก็ได้ครับ เพื่อทดสอบการเรียกใช้ DumP และ Ignore Read only เท่านั้นครับ :P ที่เขียนมาตามด้านล่างน่าจะใช้ได้เลยครับ :ard:

Code: Select all

Private Sub Workbook_Open()
Workbooks.Open Filename:="C:\Program files\DumP\DumP.xlsm", _
ignorereadonlyrecommended:=True
Workbooks("Temp.xls").Close False
End Sub
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#79

Post by Bafnet »

สวัสดีครับ
รายงานผลครับ
ยังคงเป็นอาการเดิมครับ :roll:
และได้ทดสอบอีกตัวให้ติดตั้งที่ :C เฉยๆ ตัวนี้ผ่านครับ
คิดว่าน่าจะเป็น security ของวินโดว์ ที่เห็น DumP เป็นProgram เพราะติดตั้งใน :C\Program files
น่าจะตั้งค่าได้แต่ผมทำไม่เป็น

อาจารย์ครับนึกถึงที่อาจารย์เคยสอนเครื่องมือ Find รูปกล้องส่องทางไกล
ถ้าเป็นอย่างนี้ผมคงต้องเปลี่ยน Code ที่อ้างถึง :C\Program files\DumP\...
ถ้าผมเลือกเครื่องมือ Find เลือก Replace / Curent Project
โดยให้หาคำว่า C\Program files
และแทนที่ด้วย C
ทุกๆที่ในงานชิ้นนี้ จะกลายเป็น :C\DumP\ไฟล์ต่างๆ
อย่างมั่นใจได้เลยใช่ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30938
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การแปลงข้อมูล

#80

Post by snasui »

Bafnet wrote:ถ้าผมเลือกเครื่องมือ Find เลือก Replace / Curent Project
โดยให้หาคำว่า C\Program files
และแทนที่ด้วย C
ทุกๆที่ในงานชิ้นนี้ จะกลายเป็น :C\DumP\ไฟล์ต่างๆ
อย่างมั่นใจได้เลยใช่ไหมครับ
:D ใช่แล้วครับ
Post Reply