: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

Macro : Export file to Excel แล้วไม่มี 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wisitsakbenz
Silver
Silver
Posts: 562
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Macro : Export file to Excel แล้วไม่มี File

#1

Post by wisitsakbenz »

เรียน สอบถามอาจารย์ครับ

1. File นี้คือตัวอย่างนะครับ File จริงมีขนาดใหญ่ เลยยกตัวอย่างไฟล์นี้ครับ
ผมต้องการ Export file to Excel แล้วไม่มี File ไม่แน่ใจว่าต้องปรับ Code ตรงไหนหรือไม่ครับ ขอบคุณครับ
2. ถ้า Sheet "Forms" ที่ต้องการ Export มีการดึงสูตรจาก Sheet "Input" หลังจาก Export แล้ว สูตรจะไปด้วยหรือไม่ครับ

Code: Select all

Private Sub CommandButton1_Click()
Worksheets("Data").Activate

'www.contextures.com
'for Excel 2010 and later
Dim wsA As Worksheet
Dim wbA As Workbook
Dim strTime As String
Dim strName As String
Dim strPath As String
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
On Error GoTo errHandler

Set wbA = ActiveWorkbook
Set wsA = ActiveSheet
strTime = Format(Now(), "yyyymmdd\_hhmm")


'get active workbook folder, if saved
strPath = wbA.Path
If strPath = "" Then
  strPath = Application.DefaultFilePath
End If
strPath = strPath & "\"

'replace spaces and periods in sheet name
strName = Replace(wsA.Name, " ", "")
strName = Replace(strName, ".", "_")

'create default name for saving file
strFile = Sheets("Input").Range("E6").Value & "_" & Sheets("Input").Range("E7").Value & "_" & Sheets("Input").Range("E12").Value & ".xls"
strPathFile = strPath & strFile

'use can enter name and
' select folder for file
myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strPathFile, _
        FileFilter:="Excel Files (*.xls), *.xls", _
        Title:="Select Folder and FileName to save")

'export to PDF if a folder was selected
If myFile <> "False" Then
    'wsA.ExportAsFixedFormat
    'Copy the ActiveSheet to new workbook
            For Each wsA In ActiveWorkbook.Worksheets
                    wsA.UsedRange.Copy
                    wsA.UsedRange.PasteSpecial Paste:=xlPasteValues
            Application.CutCopyMode = False
   Next

    'confirmation message with file info
    MsgBox "Excel  file has been created: " _
      & vbCrLf _
      & myFile
End If

exitHandler:
    Exit Sub
errHandler:
    MsgBox "Could not create Excel file"
    Resume exitHandler

End Sub
Attachments
Book6.xlsm
(24.41 KiB) Downloaded 4 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Macro : Export file to Excel แล้วไม่มี File

#2

Post by snasui »

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

Code: Select all

myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strPathFile, _
        FileFilter:="Excel Files (*.xls), *.xls", _
        Title:="Select Folder and FileName to save")
ActiveWorkbook.SaveAs Filename:=myFile, FileFormat:=XlFileFormat.xlExcel12
Code นี้เป็นการ Save As ไฟล์ปัจจุบันไปเป็นไฟล์ใหม่ ถ้าต้องการจะสร้างไฟล์ใหม่โดยนำค่าในไฟล์ปัจจุบันไปวาง ให้เพิ่มไฟล์ขึ้นมาใหม่ > คัดลอกค่าไปวาง > Save As ไฟล์ที่สร้างขึ้นมาใหม่เป็นชื่อที่กำหนด งานลักษณะนี้สามารถบันทึก Macro แล้วนำ Code มาปรับใช้ได้เช่นกันครับ
wisitsakbenz
Silver
Silver
Posts: 562
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Macro : Export file to Excel แล้วไม่มี File

#3

Post by wisitsakbenz »

เรียน snasui อาจารย์ครับ

ผมอยากให้ export Sheet โดย Copy Sheet "Data" แล้วสร้าง Worksheet ใหม่โดยตั้งชื่อตาม ค่าของ E6-E8 ใน Sheet "Input"
และไม่มี มาโครติดไปด้วย ต้องปรับ Code อย่างไรบ้างครับ ขอบคุณครับ
Attachments
Book6.xlsm
(24.15 KiB) Downloaded 1 time
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: Macro : Export file to Excel แล้วไม่มี File

#4

Post by puriwutpokin »

ลองปรับเป็นโค้ดนี้ดูครับ

Code: Select all

Dim aName, myFile As Range
Dim fldr As FileDialog
Dim selectedFolder As String
Application.DisplayAlerts = False
Set aName = Sheets("Input").Range("e6:e8")
    Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
    With fldr
        .Title = "Select a Folder"
        .AllowMultiSelect = False
        .Show
        selectedFolder = .SelectedItems(1)
    End With
For Each myFile In aName
    Sheets("Data").Copy
    ActiveWorkbook.SaveAs Filename:=selectedFolder & "\" & myFile & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        ActiveWorkbook.Close
Next myFile
Application.DisplayAlerts = True
:shock: :roll: :D
wisitsakbenz
Silver
Silver
Posts: 562
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Macro : Export file to Excel แล้วไม่มี File

#5

Post by wisitsakbenz »

เรียน อาจารย์ puriwutpokin

จากการทำลอง run แล้วไม่ได้ครับ > จะให้หา Folder ที่จะ save แล้ว หลังจากนั้นใส่ชื่อ > กด open แล้ว error ดังไฟล์แนบครับ
ขอบคุณครับ
Attachments
Book6.xlsm
(24.2 KiB) Not downloaded yet
A1.jpg
A1.jpg (12.87 KiB) Viewed 28 times
A2.jpg
A2.jpg (17.35 KiB) Viewed 28 times
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: Macro : Export file to Excel แล้วไม่มี File

#6

Post by puriwutpokin »

ไม่ต้องใส่ชื่อไฟล์ครับ​ ให้เลือกโฟลเดอร์​ที่จะเซฟพอครับ
:shock: :roll: :D
wisitsakbenz
Silver
Silver
Posts: 562
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Macro : Export file to Excel แล้วไม่มี File

#7

Post by wisitsakbenz »

ต้องการให้ได้แค่ไฟล์เดียว และไม่มีปุ่ม Exportexcel ครับ โดยชื่อไฟล์คือ Thai_Nong_EN
ของอาจารย์ puriwutpokin แยกเป็น 3 ไฟล์ 3 ชื่อ
รบกวนด้วยครับ ขอบคุณครับ
Attachments
A3.jpg
A3.jpg (15.11 KiB) Viewed 20 times
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: Macro : Export file to Excel แล้วไม่มี File

#8

Post by puriwutpokin »

ปรับตามนี้ดูครับ

Code: Select all

Application.DisplayAlerts = False
Sheets("Data").Copy
myFile = Application.GetSaveAsFilename _
    (InitialFileName:=strPathFile, _
        FileFilter:="Excel Files (*.xlsx), *.xlsx", _
        Title:="Select Folder and FileName to save")
ActiveWorkbook.SaveAs Filename:=myFile, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
:shock: :roll: :D
wisitsakbenz
Silver
Silver
Posts: 562
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Macro : Export file to Excel แล้วไม่มี File

#9

Post by wisitsakbenz »

ได้แล้วครับ อาจารย์ puriwutpokin ขอบคุณมากครับ
Post Reply