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

การโพสต์ Code ให้ครอบด้วย
[code]...[/code] เพื่อจะได้สะดวกกับการอ่าน ดูกฎการใช้บอร์ดข้อ 5 ด้านบนประกอบครับ
การจะพิจาณาว่าหากชื่อตามเซลล์ 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

การโพสต์ Code ให้ครอบด้วย
[code]...[/code] เพื่อจะได้สะดวกกับการอ่าน ดูกฎการใช้บอร์ดข้อ 5 ด้านบนประกอบครับ
การจะพิจาณาว่าหากชื่อตามเซลล์ 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

อ่านดูแล้วเข้าใจว่าต้องการให้เพิ่มค่าในเซลล์ 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

อ่านดูแล้วเข้าใจว่าต้องการให้เพิ่มค่าในเซลล์ E6 ไปทุกการ Save เพื่อไม่ให้ชื่อไฟล์ไปทับกัน
Code สำรหับการเพิ่มค่าใน E6 คือ
[e6].value = [e6].value + 1 ให้เพิ่ม Code เข้าไปก่อน
end sub ครับ
ขอบคุณมากครับ