: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

การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#1

Post by sammam »

พอจะแนะนำวิธีการ หรือ ไอเดีย ที่ให้ผมสามารถ copy ข้อมูลแต่ละชุด แล้ว วางใน sheet ที่ชื่อเหมือนกันกับข้อมมูล เช่นข้อมูล A ก็วางใน sheet A

พอดีผม มีข้อมูลชุดหนึ่งครับ

A 1 1
A 1 1
A 1 1
A 1 1

B 2 2
B 2 2
B 2 2
B 2 2
B 2 2

C 3 3
C 3 3
C 3 3
C 3 3

D 4 4
D 4 4
D 4 4
D 4 4

1.ผมได้สร้าง sheet A,B,C,D ไว้รอแล้ว
ไม่รู้ว่าจะใช้ วิธีไหนที่ จะ copy ข้อมูลชุด A ไปไว้ ใน sheet A , ข้อมูลชุด B ไปไว้ ใน sheet B , ข้อมูลชุด C ไปไว้ ใน sheet C ตามลำดับครับ

2.การ save as ของแต่ละ sheet A,B,C,D ให้เป็น .text โดยใช้ macro vba ครับ


ปล ข้อมูลผมมี เยอะมากครับ ประมาณ 1000 ชุดข้อมูล ถ้า copy แต่ละชุดข้อมมูล แล้ววางที่ notepad คงไม่ไหวแฮะๆ รบกวนผู้รู้ช่วยชีแนะด้วยนะครับ


ขอบคุณ มากครับ
You do not have the required permissions to view the files attached to this post.
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: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#2

Post by snasui »

:D ตัวอย่าง Code ครับ

Code: Select all

Sub Test0()
    Dim sh As Worksheet
    Dim rngSource As Range
    Dim rng As Range
    With Sheets("DAT")
        Set rngSource = .Range("a1", .Range("a" & .Rows.Count).End(xlUp)) _
            .SpecialCells(xlCellTypeConstants)
        For Each rng In rngSource
            Sheets(rng.Value).Range("a" & Rows.Count).End(xlUp) _
                .Offset(1, 0).Resize(1, 3).Value = rng.Resize(1, 3).Value
        Next rng
    End With
End Sub
ในโอกาสถัดไป ให้แจ้งมาด้วยว่า Code ที่เขียนเองแล้วนั้นชื่ออะไร ติดขัดบรรทัดใด ตามกฎข้อ 5 ด้านบนครับ :roll:
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#3

Post by sammam »

ขอบคุณครับอาจารย์ ผมจะลองทำดูครับ พอดีผมมือใหม่มากๆเลย ครับ แฮะๆๆ ขอบคุณมากนะครับ
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#4

Post by sammam »

Sub wsToText()
Dim ws As Worksheet

Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Worksheets

Sheets(ws.Name).Select
Sheets(ws.Name).Copy
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\Administrator\Desktop\text for app" & ws.Name & ".txt", _
FileFormat:=xlText, CreateBackup:=False
ActiveWorkbook.Close
ThisWorkbook.Activate
Next ws

End Sub


อาจารย์ครับ ผมลองเขียน code ว่าจะให้แต่ละ sheet ที่ผมมี save as เป็น .text ผมอยากให้มัน save ลง folder ชื่อ ว่า text for app ครับ แต่มัน save ลงหน้า desktop หมดเลยครับ อาจารย์ลองช่วยดู code ให้ผมด้วยนะครับ

ขอบคุณมากครับ อาจารย์
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: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#5

Post by snasui »

:D จาก Code "C:\Users\Administrator\Desktop\text for app" & ws.Name & ".txt", _
FileFormat:=xlText, CreateBackup:=False
เป็นการอ้างถึง Desktop ให้เปลี่ยนเป็น Path ที่ต้องการ

ช่วยโพสต์ Code ให้แสดงเป็น Code ดูตัวอย่างจากระทู้นี้ครับ viewtopic.php?style=3&f=3&t=1187
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#6

Post by sammam »

Code: Select all

Sub wsToText()
    Dim ws As Worksheet
     
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For Each ws In ThisWorkbook.Worksheets
         
        Sheets(ws.Name).Select
        Sheets(ws.Name).Copy
        ActiveWorkbook.SaveAs Filename:= _
        "D:\text for app" & ws.Name, _
        FileFormat:=xlText, CreateBackup:=False
        ActiveWorkbook.Close
        ThisWorkbook.Activate
    Next ws
     
End Sub
ผมเปลี่ยนเป็น D:\text for app มันยังไม่ save ลง folder text for app มัน save ลง D:\ อย่างเดียว ครับ ช่วยชี้แนะ ผมด้วยครับ งง ไปหมดแล้ว :cry: :roll:
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: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#7

Post by snasui »

:D เท่าที่ดู Code น่าจะ Save ได้ถูกตำแหน่งแล้ว ลองแนบไฟล์นั้นมาดูกันครับ
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#8

Post by sammam »

อาจารย์ช่วยลองดูให้ผมด้วยนะครับ

ขอบคุณมากครับ อาจารย์ :D
You do not have the required permissions to view the files attached to this post.
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: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#9

Post by snasui »

:tt: เพิ่ม \ เข้าไปอีกอักขระครับ เป็น

Code: Select all

"D:\text for app\" & ws.Name, _
        FileFormat:=xlText, CreateBackup:=False
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#10

Post by sammam »

เย่ๆๆ ได้แล้วครับ อาจารย์ ขอบคุณมากนะครับ :D :thup:
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#11

Post by sammam »

Code: Select all

Sub wsToText()
    Dim ws As Worksheet
     
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For Each ws In ThisWorkbook.Worksheets
         
        Sheets(ws.Name).Select
        Sheets(ws.Name).Copy
        ActiveWorkbook.SaveAs Filename:= _
        "D:\text for app\" & ws.Name, _
        FileFormat:=xlText, CreateBackup:=False
        ActiveWorkbook.Close
        ThisWorkbook.Activate
    Next ws
     
End Sub

อาจารย์ พอจะมีแนวทาง save จาก excel ให้เป็น .jpg ได้ไหมครับ อาจารย์
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: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#12

Post by snasui »

:D เราสามารถสร้าง Chart มารับ Object ที่สร้างขึ้นใน Excel แล้ว Export Chart นั้นไปเป็น .jpg ผลทีได้ก็คือ Object ที่เป็น jpg

กรณีข้อมูลเป็นตารางก็สามารถที่จะ Copy ตารางแล้วางให้เป็น Picture (Object) ก่อนแล้วค่อยทำตามด้านบน
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#13

Post by sammam »

พอดีผมมี Code ที่ save chart เป็น .gif แล้วครับ

คือ อันนี้

Code: Select all

Sub Create_GIF()
Dim mychart As Chart
Set mychart = ActiveSheet.ChartObjects("Sheet1").Chart
mychart.Export Filename:="D:\Mychart.gif", FilterName:="GIF"
End Sub
แต่ยังไม่สามารถนำมาปรับใช้ กับ code ข้องล่างได้ครับ ไม่รู้ว่าต้องทำยังไงให้ chart มารองรับ code ด้านล่าง

Code: Select all

Sub Test0()
    Dim sh As Worksheet
    Dim rngSource As Range
    Dim rng As Range
    With Sheets("DAT")
        Set rngSource = .Range("a1", .Range("a" & .Rows.Count).End(xlUp)) _
            .SpecialCells(xlCellTypeConstants)
        For Each rng In rngSource
            Sheets(rng.Value).Range("a" & Rows.Count).End(xlUp) _
                .Offset(1, 0).Resize(1, 3).Value = rng.Resize(1, 3).Value
        Next rng
    End With
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: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#14

Post by snasui »

:D ให้ Copy Range ไปเป็น Picture มาก่อน ถ้าทำไม่เป็นให้บันทึก Macro แล้วดู Code ครับ
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#15

Post by sammam »

Code: Select all

Sub wsToText()
    Dim ws As Worksheet
     
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For Each ws In ThisWorkbook.Worksheets
         
        Sheets(ws.Name).Select
        Sheets(ws.Name).Copy
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "D:\text for app\" & ws.Name, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
        ActiveWorkbook.Close
        ThisWorkbook.Activate
    Next ws
     
End Sub
อาจารย์ครับ ทำไม มันerror ผมว่าจะ save เป็น PDF ครับ ช่วยชี้แนะด้วยครับ

ขอบคุณมากครับอาจารย์
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: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#16

Post by snasui »

:D แนบไฟล์ตัวอย่างมาด้วยจะได้ช่วยทดสอบได้ครับ
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#17

Post by sammam »

ไฟล์ นี้ครับอาจารย์

ขอบคุณมากนะครับอาจารย์

เกรงใจอาจารย์ จังเลยครับ :)
You do not have the required permissions to view the files attached to this post.
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: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#18

Post by snasui »

:D ตัวอย่างการปรับ Code ตามด้านล่างครับ

Code: Select all

For Each ws In ThisWorkbook.Worksheets
    ws.Copy
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "D:\text for app\" & ws.Name & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    ActiveWorkbook.Close False
Next ws
สำหรับการถามตอบปัญหาสามารถสอบถามกันได้เต็มที่ ไม่มีข้อกำหนดว่าให้ถามได้เพียงเท่านั้นเท่านี้ครั้ง ถ้ายังเกิดปัญหาสามารถถามมาได้เรือ่ย ๆ เท่าที่ต้องการ ผมสร้างฟอรัมเพื่อให้สมาชิกได้ถามตอบปัญหากันโดยเฉพาะ ไม่ต้องเกรงใจครับ :mrgreen:
sammam
Member
Member
Posts: 16
Joined: Wed Oct 22, 2014 10:19 am

Re: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#19

Post by sammam »

ยัง error อยู่เลยครับอาจารย์ excel มันไม่ save เป็น pdf แต่มันกลับสร้าง file excel อันใหม่ ที่มีชื่อ sheet เป็น test run ครับ แฮะๆ
You do not have the required permissions to view the files attached to this post.
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: การ copy ข้อมูล และ save แต่ละ sheets เป็น .text ครับ

#20

Post by snasui »

:D ผมทดสอบด้วย Excel 2010 ไม่ติดปัญหาใดครับ
Post Reply