: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

import text แล้วให้แยกลงในแต่ละคอลั่ม ในรูปแบบที่ต่างกัน ยังไงครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
spriggan
Member
Member
Posts: 5
Joined: Sat Mar 19, 2016 12:37 am

import text แล้วให้แยกลงในแต่ละคอลั่ม ในรูปแบบที่ต่างกัน ยังไงครับ

#1

Post by spriggan »

ผมมีข้อมุลที่ export มาจากเครื่องแสกนนิ้วมือ
ตามที่แนบมานี้ครับ
ที่นี้ต้องการ import ลง excel โดยใช้ vba
โดยให้แยกเป็น 4 คอลัม คือ 1.รหัสพนักงาน 2.วันที่ (dd/mm/yyy) 3.เวลา (hh:mm) 4. in-out ครับ
เพราะตอนนี้ลองทำแบบกด manual มันใช้เวลามากพอสมควรเลยครับ

ตัวอย่าง ไฟล์ดิบนะครับ

5201548,06012016,0001I
5404086,06012016,0002O
4900686,06012016,0007O
You do not have the required permissions to view the files attached to this post.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: import text แล้วให้แยกลงในแต่ละคอลั่ม ในรูปแบบที่ต่างกัน ยังไงครับ

#2

Post by DhitiBank »

หากถามเรื่อง VBA ควรโพสต์ Code ประกอบคำถามด้วยครับและสำหรับกรณีนี้ควรแนบไฟล์ txt ตัวอย่างมาด้วย เพื่ออาจารย์หรือเพื่อนๆ จะสะดวกเอาไปทดสอบครับ

ผมไม่ได้มาตอบ VBA แต่ลองทำด้วยสูตรมาให้เป็นทางเลือกครับ (ผมเคยใช้อยู่)

1. สร้างชีทสำหรับคัดลอกข้อมูลจาก text file มาวาง สมมติชื่อชีท "Text" และสมมติว่าเอาข้อมูลมาวางตั้งแต่เซลล์ A1 ไล่ลงไปเรื่อยๆ ในคอลัมน์ A

2. อีกชีทหนึ่งสำหรับใส่สูตรเพื่อดึงและตัดข้อมูล
A2
=IF(Text!A1="","",--MID(SUBSTITUTE(","&Text!$A1,",",REPT(" ",20)),COLUMNS($A2:A2)*20,20))
Enter

B2
=IF(Text!A1="","",--TEXT(TRIM(MID(SUBSTITUTE(","&Text!$A1,",",REPT(" ",20)),COLUMNS($A2:B2)*20,20)),"00\/00\/0000"))
Enter

C2
=IF(Text!A1="","",--TEXT(LEFT(TRIM(MID(SUBSTITUTE(","&Text!$A1,",",REPT(" ",20)),COLUMNS($A2:C2)*20,20)),4),"00\:00"))
Enter

D2
=RIGHT(Text!A1,1)
Enter

ฺจัดรูปแบบตัวเลขใน B2 และ C2 ให้เป็นวันที่และเวลา ตามลำดับ จากนั้นคัดลอก A2:D2 ลงล่างครับ
เวลาใช้งานก็ให้ลบข้อมูลในชีท Text ออก (แต่อย่าลบด้วยการ เลือกทั้งหมด --> คลิกขวา --> delete นะครับ เพราะจะทำให้เกิดการเลื่อนเซลล์ อาจเกิดข้อผิดพลาด #Ref กับสูตรได้) แล้วก็คัดลอกข้อมูลจาก txt file เอามาวางที่เซลล์ A1 ครับ
You do not have the required permissions to view the files attached to this post.
spriggan
Member
Member
Posts: 5
Joined: Sat Mar 19, 2016 12:37 am

Re: import text แล้วให้แยกลงในแต่ละคอลั่ม ในรูปแบบที่ต่างกัน ยังไงครับ

#3

Post by spriggan »

ขอบคุณครับ เดี๋ยวผมลองก่อนนะครับ
Post Reply