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

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

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