Page 1 of 1

สอบถามเรื่องการ Save File เฉพาะ Sheet เป้าหมาย

Posted: Thu Feb 22, 2018 11:14 am
by jullathep
อ้างอิงจาก Code พี่ท่านนึง พี่เขาเซฟไฟล์โดยใช้ชื่อจาก Cell ผมแปลงเป็น Label ผมทำใน Module
Moduel SaveFile เป็นชื่อ ตาม Label

Code: Select all

Sub SaveAsName()
    Dim FName           As String
    Dim FPath           As String
    FPath = "D:\Report"
    FName = Sheets("Sheet2").Label1.Caption
    ThisWorkbook.SaveAs Filename:=FPath & "\" & FName + ".xls"
End Sub
ความต้องการเพิ่มเติม คือ อยากจะให้แค่ Sheet 2 พร้อมข้อมูลไปบันทึกแค่อันเดียว เปรียบเหมือน Report ผมก็ไปค้นหา Code มา เจอ Code 1 ชุด จึงทำเป็น Moduel ตัวที่ 2

Code: Select all

Sub Macro1()
Sheets(Sheet2).Select
Sheets(Sheet2).Copy
Sheets(Sheet2).Select
Sheets(Sheet2).Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

ผมก็เรียกใช้จากปุ่ม Command แล้วเกิด Error จาก Moduel ตัวที่ 2

Code: Select all

Private Sub CommandButton1_Click()
Call SaveAsName
Call Macro1
End Sub
รบกวน พี่ๆ อาจารย์ทุกๆท่าน ช่วยดูหน่อยครับ ส่าผมจะปรับตรงไหนดี ขอบคุณมากครับ

Re: สอบถามเรื่องการ Save File เฉพาะ Sheet เป้าหมาย

Posted: Thu Feb 22, 2018 2:35 pm
by logic
ลองดูครับ

Code: Select all

Private Sub CommandButton1_Click()
Call Macro1
Call SaveAsName
End Sub

'-------------------------------------------

Sub Macro1()
Sheets("Sheet2").Select
Sheets("Sheet2").Copy
'Sheets("Sheet2").Select
Sheets("Sheet2").Activate
Sheets("Sheet2").UsedRange.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

'-------------------------------------------

Sub SaveAsName()
Dim FName           As String
Dim FPath           As String
FPath = "D:\Report"
FName = Sheets("Sheet2").Label1.Caption
ThisWorkbook.SaveAs Filename:=FPath & "\" & FName + ".xls"
End Sub

Re: สอบถามเรื่องการ Save File เฉพาะ Sheet เป้าหมาย

Posted: Thu Feb 22, 2018 2:39 pm
by jullathep
logic wrote: Thu Feb 22, 2018 2:35 pm ลองดูครับ

Code: Select all

Private Sub CommandButton1_Click()
Call Macro1
Call SaveAsName
End Sub

'-------------------------------------------

Sub Macro1()
Sheets("Sheet2").Select
Sheets("Sheet2").Copy
'Sheets("Sheet2").Select
Sheets("Sheet2").Activate
Sheets("Sheet2").UsedRange.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

'-------------------------------------------

Sub SaveAsName()
Dim FName           As String
Dim FPath           As String
FPath = "D:\Report"
FName = Sheets("Sheet2").Label1.Caption
ThisWorkbook.SaveAs Filename:=FPath & "\" & FName + ".xls"
End Sub
ขอบคุณครับพี่ เดี๋ยวผมลองเทส