Page 1 of 1
VBA : ใช้ Macro Save As งานแล้วสกุลเพี้ยนค่ะ
Posted: Thu Nov 28, 2019 12:44 pm
by kullarat13
Sub Save_As()
'
' SaveAs Macro
'
'
'MSG BOX
Dim x As Integer
x = MsgBox("???????? Save As (??????) ??????? ?????????????????????", vbOKCancel, "Contact Rate")
If x = vbOK Then
' SaveAs Macro
ActiveSheet.Unprotect
ChDir "D:\"
ActiveWorkbook.SaveAs Filename:= _
"D:\HELP" & Format(Now(), "DD-MM-YYYY.xlsx" & ""), FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Rows("4:40").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("D3").Select
Rows("1:1").EntireRow.AutoFit
Rows("1:3").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
ActiveWorkbook.Save
MsgBox ("COMPLETED>>>Save As Drive D:")
'MSG BOX
Else
Sheets("FORMAT EXCEL V.11").Select
End If
End Sub
Re: VBA : ใช้ Macro Save As งานแล้วสกุลเพี้ยนค่ะ
Posted: Thu Nov 28, 2019 2:24 pm
by logic
คือยังไงนะ เพี้ยนจากอะไรเป็นอะไร
โพสโค้ดผิดแบบอยู่นะ อ่านกฎข้อ 5 เรื่องการโพสโค้ดครับ ⤴
Re: VBA : ใช้ Macro Save As งานแล้วสกุลเพี้ยนค่ะ
Posted: Thu Nov 28, 2019 2:35 pm
by kullarat13
logic wrote: Thu Nov 28, 2019 2:24 pm
คือยังไงนะ เพี้ยนจากอะไรเป็นอะไร
โพสโค้ดผิดแบบอยู่นะ อ่านกฎข้อ 5 เรื่องการโพสโค้ดครับ ⤴
แก้ไขค่ะ
Code: Select all
Sub Save_As()
'
' SaveAs Macro
'
'
'MSG BOX
Dim x As Integer
x = MsgBox("???????? Save As (??????) ??????? ?????????????????????", vbOKCancel, "Contact Rate")
If x = vbOK Then
' SaveAs Macro
ActiveSheet.Unprotect
ChDir "D:\"
ActiveWorkbook.SaveAs Filename:= _
"D:\HELP" & Format(Now(), "DD-MM-YYYY.xlsx" & ""), FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Rows("4:40").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("D3").Select
Rows("1:1").EntireRow.AutoFit
Rows("1:3").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
ActiveWorkbook.Save
MsgBox ("COMPLETED>>>Save As Drive D:")
'MSG BOX
Else
Sheets("FORMAT EXCEL V.11").Select
End If
End Sub
เวลา Save As file ออกมาสกุลแบบนี้ค่ะ
Re: VBA : ใช้ Macro Save As งานแล้วสกุลเพี้ยนค่ะ
Posted: Thu Nov 28, 2019 2:50 pm
by logic
ผมเปลี่ยนตอนเซฟแบบนี้แล้วใช้ได้ครับ
Code: Select all
ActiveWorkbook.SaveAs Filename:= _
"D:\HELP\" & Format(Now(), "DD-MM-YYYY"), FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Re: VBA : ใช้ Macro Save As งานแล้วสกุลเพี้ยนค่ะ
Posted: Fri Nov 29, 2019 3:53 pm
by kullarat13
logic wrote: Thu Nov 28, 2019 2:50 pm
ผมเปลี่ยนตอนเซฟแบบนี้แล้วใช้ได้ครับ
Code: Select all
ActiveWorkbook.SaveAs Filename:= _
"D:\HELP\" & Format(Now(), "DD-MM-YYYY"), FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ตอนนี้ปัญหาเปลี่ยนแล้วค่ะ พอใช้งานจริง เติม ActiveWorkbook.Close เข้าไปต่อท้าย เวลาใน Cell แต่ละ Cell เพี้ยนหมดเลยค่ะ แก้ไขยังไงได้บ้างคะ
Code: Select all
Sub Save_As_NEW()
'
' SaveAs Macro
'
'
'MSG BOX
Dim x As Integer
x = MsgBox("???????? Save As (??????) ??????? ?????????????????????", vbOKCancel, "Contact Rate")
If x = vbOK Then
' SaveAs Macro
ActiveSheet.Unprotect
ActiveWorkbook.Date1904 = True
Rows("4:39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "D:\"
ActiveWorkbook.SaveAs Filename:= _
"D:\" & ActiveSheet.Range("A4").Value & ".xlsx", FileFormat:= _
xlOpenXMLStrictWorkbook, CreateBackup:=False
Range("D3").Select
Rows("1:1").EntireRow.AutoFit
Rows("1:3").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
ActiveWorkbook.Save
MsgBox ("COMPLETED>>>Save at Drive D:")
ActiveWorkbook.Close
'MSG BOX
Else
Sheets("FORMAT EXCEL V.11").Select
End If
End Sub
Re: VBA : ใช้ Macro Save As งานแล้วสกุลเพี้ยนค่ะ
Posted: Fri Nov 29, 2019 4:53 pm
by snasui
ก่อนอื่นช่วยตอบว่าค่า
xlOpenXMLStrictWorkbook
ที่เขียนไว้นั้น
ต้องการให้ Save เป็นไฟล์ประเภทไหนครับ
Fileformat enum ประเภทของไฟล์ใน Excel ดูได้จากที่นี่ครับ
https://docs.microsoft.com/en-us/dotnet ... =excel-pia