Page 1 of 1

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

Posted: Sun Apr 28, 2013 10:20 am
by นายอานุภาพ ศิลปรัศมี
รบกวนปรึกษาอาจารย์และผู้เชี่ยวชาญครับ

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

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

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

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


ขอบพระคุณอย่างสูงครับ

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

Posted: Sun Apr 28, 2013 10:26 am
by snasui
:D ยินดีให้คำปรึกษาครับ

แต่ว่าต้องเป็นไปตามกฎการใช้บอร์ดข้อ 5 ด้านบนสำหรับ VBA :roll: ซึ่งจะต้องเขียนกันมาเองก่อน ติดตรงไหนแล้วค่อยถามกัน นั่นหมายความว่า ผู้ถามจะต้องมีความรู้เกี่ยวกับ VBA ในระดับพื้นฐานมาบ้าง สามารถเขียน VBA ได้ กรณีไม่มีความรู้และไม่เคยเขียนเลย ยังไม่แนะนำให้ใช้ VBA หากจำเป็นต้องใช้ก็ให้ผู้ที่เขียนเป็นเขียนให้ก่อน ติดตรงไหนก็ให้ผู้ที่เขียนให้นั้นมาถามกันครับ

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

Posted: Sun Apr 28, 2013 10:37 am
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

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

Posted: Sun Apr 28, 2013 10:46 am
by snasui
:D แนบไฟล์ตัวอย่าง ทั้งที่เป็น .txt และไฟล์ Excel ที่เขียน Code มาแล้ว เพื่อเพื่อน ๆ จะได้ช่วยกันทดสอบได้ครับ

สำหรับวิธีการโพสต์ Code ในกล่องความเห็นนี้ให้แสดงเป็น Code ดูตาม Link นี้ครับ viewtopic.php?f=2&t=1187

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

Posted: Sun Apr 28, 2013 10:52 am
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
ช่วยแนะนำทีนะครับ ขอบคุณมากครับ

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

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

สำหรับวิธีการโพสต์ Code ในกล่องความเห็นนี้ให้แสดงเป็น Code ดูตาม Link นี้ครับ viewtopic.php?f=2&t=1187

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

Posted: Sun Apr 28, 2013 11:07 am
by นายอานุภาพ ศิลปรัศมี
exam.zip
ตัวอย่างไฟล์ข้อมูลครับ
(61.39 KiB) Downloaded 25 times
ขออภัยนะครับอาจารย์ ผมได้ทำการแนบไฟล์ไปแล้วแต่ทำไมไม่ขึ้นก็ไม่ทราบครับ

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

Posted: Sun Apr 28, 2013 11:10 am
by snasui
:D ไฟล์แนบต้องมีขนาดไม่เกิน 300kb ครับ อย่าลืมตรวจสอบว่าแนบครบตามที่ผมแจ้งไปแล้วหรือไม่ครับ

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

Posted: Sun Apr 28, 2013 11:16 am
by นายอานุภาพ ศิลปรัศมี
test.zip
(159.89 KiB) Downloaded 23 times
ส่วนของ excel ที่ได้ผลลัพธ์ออกมาครับ

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

Posted: Sun Apr 28, 2013 11:19 am
by snasui
:D ไฟล์ที่เขียน Code ด้วยครับ

การแนบไฟล์ควรทำมาเป็นตัวอย่างที่เป็นตัวแทนของข้อมูลจริง ซึ่งตัวอย่างไม่ควรมีขนาดใหญ่ครับ

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

Posted: Sun Apr 28, 2013 11:23 am
by นายอานุภาพ ศิลปรัศมี
Module1.zip
(354 Bytes) Downloaded 19 times
ใช่ตัวนี้หรือเปล่าครับอาจารย์ ผมขออภัยอย่างยิ่งนะครับ

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

Posted: Sun Apr 28, 2013 11:30 am
by snasui
:shock: หากผมขอไฟล์ทีเขียน Code ผมหมายถึง ไฟล์ Excel ที่แนบ Code VBA มาเรียบร้อยแล้ว ไม่ใช่ส่งแต่ Code ที่เป็น .bas มาครับ

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

Posted: Sun Apr 28, 2013 11:32 am
by นายอานุภาพ ศิลปรัศมี
ตัวไฟล์ test ที่ส่งไปไม่ถูกต้องหรอครับ ^^" เป็นไฟล์ excel ที่ผมได้บันทึก vba ไปแล้วครับ

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

Posted: Sun Apr 28, 2013 11:36 am
by snasui
:D ไฟล์ Test เป็นไฟล์ Excel นามสกุลอะไรครับ :?:

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

Posted: Sun Apr 28, 2013 11:40 am
by นายอานุภาพ ศิลปรัศมี
.xlsx ครับ

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

Posted: Sun Apr 28, 2013 11:42 am
by snasui
:lol: ไฟล์ .xlsx สามารถแนบ Code VBA ได้หรือครับ :?:

Code ที่เขียนไว้ต้องอยู่ใน Project อยู่ใน Module ของ VBE ซึ่งจะเป็นไฟล์ .xlsx ไม่ได้ครับ

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

Posted: Sun Apr 28, 2013 11:46 am
by นายอานุภาพ ศิลปรัศมี
งั้นไม่เป็นไรแล้วครับอาจารย์ ผมไม่ทราบจริงๆครับ ผมเพียงพยายามที่จะเขียน code แต่มืดแปดด้านเลยมาขอคำปรึกษาจากอาจารย์

เพื่อจะศึกษาแล้วเรียนรู้การใช้ vba ให้มากกว่านี้ ขออภัยที่รบกวนเวลาอาจารย์นะครับ ขอบคุณมากครับ...

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

Posted: Sun Apr 28, 2013 11:49 am
by snasui
:D ยินดีครับ ผู้ที่จะถามเกี่ยวกับ VBA ต้องเป็นไปตามกฎข้อ 5 ด้านบน :aru: เสมอครับ

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

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

Posted: Sun Apr 28, 2013 12:28 pm
by นายอานุภาพ ศิลปรัศมี
ขอบคุณมากครับอาจารย์