Page 1 of 1

VBA save as ข้ามไฟล์เพิ่ม sheetโดยเก็บsheetเก่าที่เซฟไว้ก่อนหน้า

Posted: Mon Dec 30, 2019 2:10 pm
by kanin.wannarath
ผมอยาก Save as เป็น new fileชื่อตาม cell e5และ sheet ชื่อตาม cell e6 แต่ว่าถ้าcell e6 เปลี่ยนในครั้งต่อไปให้เก็บsheetเก่าที่saveไว้ก่อนหน้าครับปัญหาตอนนี้คือเวลาsaveใหม่ cell e6ที่เราเปลี่ยนมันจะsaveทับชื่อSheetเก่ารบกวนช่วยผมด้วยครับ


Sub Button1_Click()
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\ASUS-\Desktop\XX\" & Range("e5").Value & ".xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Sheets(1).Name = Range("e6").Value
End Sub

Re: VBA save as ข้ามไฟล์เพิ่ม sheetโดยเก็บsheetเก่าที่เซฟไว้ก่อนหน้า

Posted: Mon Dec 30, 2019 8:06 pm
by snasui
:D การโพสต์ Code ให้ครอบด้วย [code]...[/code] เพื่อจะได้สะดวกกับการอ่าน ดูกฎการใช้บอร์ดข้อ 5 ด้านบนประกอบครับ :roll:

การจะพิจาณาว่าหากชื่อตามเซลล์ E6 มีอยู่แล้วให้เปลี่ยนไปเป็นชื่อไหน อย่างไร ดูจากไหนหรือพิจาณาอย่างไร ทั้งนี้เนื่องจาก Windows ไม่ยอมให้จัดเก็บชื่อไฟล์เดียวกันครับ

Re: VBA save as ข้ามไฟล์เพิ่ม sheetโดยเก็บsheetเก่าที่เซฟไว้ก่อนหน้า

Posted: Mon Dec 30, 2019 8:35 pm
by kanin.wannarath
snasui wrote: Mon Dec 30, 2019 8:06 pm :D การโพสต์ Code ให้ครอบด้วย [code]...[/code] เพื่อจะได้สะดวกกับการอ่าน ดูกฎการใช้บอร์ดข้อ 5 ด้านบนประกอบครับ :roll:

การจะพิจาณาว่าหากชื่อตามเซลล์ E6 มีอยู่แล้วให้เปลี่ยนไปเป็นชื่อไหน อย่างไร ดูจากไหนหรือพิจาณาอย่างไร ทั้งนี้เนื่องจาก Windows ไม่ยอมให้จัดเก็บชื่อไฟล์เดียวกันครับ
ขอบคุณมากสำหรับคำแนะนำกฎข้อที่5ครับ ขอโทษครับอาจารผมน่าจะอธิบายไม่ดีสมมติว่าe6 saveเป็นชื่อ 01 ในครั้งต่อไปผมจะsave e6เป็น02แต่จะให้worksheetที่saveเก็บ
ทั้งsheet 01และ02เรียงต่อกันประมาณนี้ สามารถทำได้ไหมครับ

Re: VBA save as ข้ามไฟล์เพิ่ม sheetโดยเก็บsheetเก่าที่เซฟไว้ก่อนหน้า

Posted: Mon Dec 30, 2019 8:39 pm
by snasui
:D อ่านดูแล้วเข้าใจว่าต้องการให้เพิ่มค่าในเซลล์ E6 ไปทุกการ Save เพื่อไม่ให้ชื่อไฟล์ไปทับกัน

Code สำรหับการเพิ่มค่าใน E6 คือ [e6].value = [e6].value + 1 ให้เพิ่ม Code เข้าไปก่อน end sub ครับ

Re: VBA save as ข้ามไฟล์เพิ่ม sheetโดยเก็บsheetเก่าที่เซฟไว้ก่อนหน้า

Posted: Tue Dec 31, 2019 6:16 pm
by kanin.wannarath
snasui wrote: Mon Dec 30, 2019 8:39 pm :D อ่านดูแล้วเข้าใจว่าต้องการให้เพิ่มค่าในเซลล์ E6 ไปทุกการ Save เพื่อไม่ให้ชื่อไฟล์ไปทับกัน

Code สำรหับการเพิ่มค่าใน E6 คือ [e6].value = [e6].value + 1 ให้เพิ่ม Code เข้าไปก่อน end sub ครับ
ขอบคุณมากครับ