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: คัดลอกแถวไปยังแผ่นงานอื่นตามเกณฑ์

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *