: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

วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แบบมี

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
นายอานุภาพ ศิลปรัศมี
Member
Member
Posts: 10
Joined: Sun Apr 28, 2013 10:07 am

วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แบบมี

#1

Post by นายอานุภาพ ศิลปรัศมี »

รบกวนปรึกษาอาจารย์และผู้เชี่ยวชาญครับ

ผมมีไฟล์ text ที่เป็นโจทย์แล้วมี ตัวเลือกคำตอบ คือผมต้องการแยกโจย์และตัวเล์อกใส่ลงใน excel ในแต่ละคอลัม

โดยผมมีแนวคิดคือ ทำการวนรอบทีละบรรทัดในไฟล์ข้อมูลแล้วแบ่งใส่ใน excel โดยจะกำหนดทำการข้ามบรรทัดที่เป็นช่องว่าง

และทำการวนใหม่เมื่อครบตามเงื่อนไข กล่าาวคือวนทีละข้อเพื่อดึงข้อมูลทีละบรรทัดมาใส่ใน excel ไปเรื่อยครับ

ผมอยากขอคำปรึกษาว่าควรจะเขียน code vba อย่างไรเพราะผมไม่เคยใช้ vba excel มาก่อนเลยครับ


ขอบพระคุณอย่างสูงครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#2

Post by snasui »

:D ยินดีให้คำปรึกษาครับ

แต่ว่าต้องเป็นไปตามกฎการใช้บอร์ดข้อ 5 ด้านบนสำหรับ VBA :roll: ซึ่งจะต้องเขียนกันมาเองก่อน ติดตรงไหนแล้วค่อยถามกัน นั่นหมายความว่า ผู้ถามจะต้องมีความรู้เกี่ยวกับ VBA ในระดับพื้นฐานมาบ้าง สามารถเขียน VBA ได้ กรณีไม่มีความรู้และไม่เคยเขียนเลย ยังไม่แนะนำให้ใช้ VBA หากจำเป็นต้องใช้ก็ให้ผู้ที่เขียนเป็นเขียนให้ก่อน ติดตรงไหนก็ให้ผู้ที่เขียนให้นั้นมาถามกันครับ
นายอานุภาพ ศิลปรัศมี
Member
Member
Posts: 10
Joined: Sun Apr 28, 2013 10:07 am

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#3

Post by นายอานุภาพ ศิลปรัศมี »

ผมลองเขียนเพื่อดึงเข้ามาเฉยๆ พบว่าไม่สามารถดึงภาษาไทยได้ครับแล้วก็ไม่สามารถแบ่งข้อมูลใส่ลงใน column excel ได้ครับ


Sub readfile()

Dim x As Double
Dim txt As String

Open "C:\Users\MahM33H\Documents\coe_101.txt" For Input As #1

x = 0

Do While Not EOF(1)
Line Input #1, txt
Cells(1, 1).Offset(x, 0) = txt
x = x + 1
Loop

Close #1

End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#4

Post by snasui »

:D แนบไฟล์ตัวอย่าง ทั้งที่เป็น .txt และไฟล์ Excel ที่เขียน Code มาแล้ว เพื่อเพื่อน ๆ จะได้ช่วยกันทดสอบได้ครับ

สำหรับวิธีการโพสต์ Code ในกล่องความเห็นนี้ให้แสดงเป็น Code ดูตาม Link นี้ครับ viewtopic.php?f=2&t=1187
นายอานุภาพ ศิลปรัศมี
Member
Member
Posts: 10
Joined: Sun Apr 28, 2013 10:07 am

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#5

Post by นายอานุภาพ ศิลปรัศมี »

ตัวอย่าง code ที่ผมลองเขียนครับ

Code: Select all

Sub readfile()

Dim x As Double
Dim txt As String

Open "C:\Users\MahM33H\Documents\coe_101.txt" For Input As #1

x = 0

        Do While Not EOF(1)
        Line Input #1, txt
        Cells(1, 1).Offset(x, 0) = txt
        x = x + 1
        Loop
        
Close #1

End Sub
ช่วยแนะนำทีนะครับ ขอบคุณมากครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#6

Post by snasui »

:D อ่านที่ผมตอบด้วยครับ :ard:
snasui wrote: :D แนบไฟล์ตัวอย่าง ทั้งที่เป็น .txt และไฟล์ Excel ที่เขียน Code มาแล้ว เพื่อเพื่อน ๆ จะได้ช่วยกันทดสอบได้ครับ

สำหรับวิธีการโพสต์ Code ในกล่องความเห็นนี้ให้แสดงเป็น Code ดูตาม Link นี้ครับ viewtopic.php?f=2&t=1187
นายอานุภาพ ศิลปรัศมี
Member
Member
Posts: 10
Joined: Sun Apr 28, 2013 10:07 am

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#7

Post by นายอานุภาพ ศิลปรัศมี »

exam.zip
ตัวอย่างไฟล์ข้อมูลครับ
(61.39 KiB) Downloaded 25 times
ขออภัยนะครับอาจารย์ ผมได้ทำการแนบไฟล์ไปแล้วแต่ทำไมไม่ขึ้นก็ไม่ทราบครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#8

Post by snasui »

:D ไฟล์แนบต้องมีขนาดไม่เกิน 300kb ครับ อย่าลืมตรวจสอบว่าแนบครบตามที่ผมแจ้งไปแล้วหรือไม่ครับ
นายอานุภาพ ศิลปรัศมี
Member
Member
Posts: 10
Joined: Sun Apr 28, 2013 10:07 am

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#9

Post by นายอานุภาพ ศิลปรัศมี »

test.zip
(159.89 KiB) Downloaded 23 times
ส่วนของ excel ที่ได้ผลลัพธ์ออกมาครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#10

Post by snasui »

:D ไฟล์ที่เขียน Code ด้วยครับ

การแนบไฟล์ควรทำมาเป็นตัวอย่างที่เป็นตัวแทนของข้อมูลจริง ซึ่งตัวอย่างไม่ควรมีขนาดใหญ่ครับ
นายอานุภาพ ศิลปรัศมี
Member
Member
Posts: 10
Joined: Sun Apr 28, 2013 10:07 am

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#11

Post by นายอานุภาพ ศิลปรัศมี »

Module1.zip
(354 Bytes) Downloaded 19 times
ใช่ตัวนี้หรือเปล่าครับอาจารย์ ผมขออภัยอย่างยิ่งนะครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#12

Post by snasui »

:shock: หากผมขอไฟล์ทีเขียน Code ผมหมายถึง ไฟล์ Excel ที่แนบ Code VBA มาเรียบร้อยแล้ว ไม่ใช่ส่งแต่ Code ที่เป็น .bas มาครับ
นายอานุภาพ ศิลปรัศมี
Member
Member
Posts: 10
Joined: Sun Apr 28, 2013 10:07 am

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#13

Post by นายอานุภาพ ศิลปรัศมี »

ตัวไฟล์ test ที่ส่งไปไม่ถูกต้องหรอครับ ^^" เป็นไฟล์ excel ที่ผมได้บันทึก vba ไปแล้วครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#14

Post by snasui »

:D ไฟล์ Test เป็นไฟล์ Excel นามสกุลอะไรครับ :?:
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#16

Post by snasui »

:lol: ไฟล์ .xlsx สามารถแนบ Code VBA ได้หรือครับ :?:

Code ที่เขียนไว้ต้องอยู่ใน Project อยู่ใน Module ของ VBE ซึ่งจะเป็นไฟล์ .xlsx ไม่ได้ครับ
นายอานุภาพ ศิลปรัศมี
Member
Member
Posts: 10
Joined: Sun Apr 28, 2013 10:07 am

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#17

Post by นายอานุภาพ ศิลปรัศมี »

งั้นไม่เป็นไรแล้วครับอาจารย์ ผมไม่ทราบจริงๆครับ ผมเพียงพยายามที่จะเขียน code แต่มืดแปดด้านเลยมาขอคำปรึกษาจากอาจารย์

เพื่อจะศึกษาแล้วเรียนรู้การใช้ vba ให้มากกว่านี้ ขออภัยที่รบกวนเวลาอาจารย์นะครับ ขอบคุณมากครับ...
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: วิธีเริ่มต้นเขียน code vba เพื่อดึงข้อมูลจาก .txt file แ

#18

Post by snasui »

:D ยินดีครับ ผู้ที่จะถามเกี่ยวกับ VBA ต้องเป็นไปตามกฎข้อ 5 ด้านบน :aru: เสมอครับ

อ่านที่นี่เพิ่มเติมสำหรับผู้เริ่มเรียนรู้ VBA ครับ viewtopic.php?f=5&t=3274
Post Reply