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
:D ก่อนอื่นช่วยตอบว่าค่า xlOpenXMLStrictWorkbook ที่เขียนไว้นั้น ต้องการให้ Save เป็นไฟล์ประเภทไหนครับ

Fileformat enum ประเภทของไฟล์ใน Excel ดูได้จากที่นี่ครับ https://docs.microsoft.com/en-us/dotnet ... =excel-pia