Vba: วิธีวางค่าและรักษาการจัดรูปแบบ
คุณสามารถใช้ไวยากรณ์ต่อไปนี้ใน VBA เพื่อคัดลอกช่วงของเซลล์และวางค่าและการจัดรูปแบบต้นฉบับไปยังตำแหน่งใหม่:
Sub PasteWithFormatting()
Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
มาโครนี้จะคัดลอกเซลล์ในช่วง A1:C11 และวางค่าของเซลล์โดยมีการจัดรูปแบบลงในช่วงโดยเริ่มต้นที่เซลล์ A13 .
หมายเหตุ : บรรทัด Application.CutCopyMode = False ระบุว่าควรปิดใช้งานโหมดการตัดและคัดลอกหลังจากเรียกใช้แมโคร
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วางค่าและจัดรูปแบบต่อไปโดยใช้ VBA
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:

สมมติว่าเราต้องการคัดลอกและวางค่าทั้งหมดในช่วง A1:C11 ไปยังตำแหน่งใหม่และคงการจัดรูปแบบไว้
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub PasteWithFormatting()
Range(" A1:C11 ").Copy
Range(" A13 ").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าค่าของเซลล์ดั้งเดิมถูกวางด้วยการจัดรูปแบบในช่วงเซลล์โดยเริ่มต้นที่เซลล์ A13 .
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA PasteSpecial ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีวางค่าโดยไม่ต้องจัดรูปแบบเท่านั้น
VBA: วิธีคัดลอกเส้นที่มองเห็นไปยังแผ่นงานอื่น
VBA: คัดลอกแถวไปยังแผ่นงานอื่นตามเกณฑ์