Vba: วิธีตั้งค่าของเซลล์ในแผ่นงานอื่น
คุณสามารถใช้วิธีการต่อไปนี้ใน VBA เพื่อตั้งค่าเซลล์ในแผ่นงานอื่น:
วิธีที่ 1: ตั้งค่าเซลล์ในแผ่นงานอื่น
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
มาโครนี้จะตั้งค่าของเซลล์ A2 ใน Sheet2 ให้เท่ากับค่าของเซลล์ A2 ใน Sheet1
วิธีที่ 2: ตั้ง ค่า หลาย เซลล์ในชีตอื่น
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
มาโครนี้จะตั้งค่าของแต่ละเซลล์ในช่วง A2:A11 ใน Sheet2 ให้เท่ากับค่าของแต่ละเซลล์ในช่วง A2:A11 ใน Sheet1
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
ตัวอย่างที่ 1: ตั้งค่าเซลล์ในแผ่นงานอื่น
สมมติว่าเรามีแผ่นงานต่อไปนี้ชื่อ Sheet1 ซึ่งมีชื่อของทีมบาสเก็ตบอลต่างๆ:

และสมมติว่าเรามี Sheet2 ซึ่งมีแถวส่วนหัวเพียงแถวเดียว:

เราสามารถสร้างมาโครต่อไปนี้เพื่อตั้งค่าของเซลล์ A2 ของ Sheet2 ให้เท่ากับค่าของเซลล์ A2 ของ Sheet1 :
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราจะเห็นว่าค่าของเซลล์ A2 ของ Sheet2 ถูกตั้งค่าเป็น “Mavs” ซึ่งตรงกับค่าของเซลล์ A2 ของ Sheet1 :

ตัวอย่างที่ 2: ตั้งค่าหลายเซลล์ในชีตอื่น
สมมติว่าเราต้องการตั้งค่าของแต่ละเซลล์ในช่วง A2:A11 ของ Sheet2 ให้เท่ากับแต่ละเซลล์ในช่วง A2:A11 ของ Sheet1
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราจะเห็นว่าค่าในช่วง A2:A11 ของ Sheet2 ตอนนี้ถูกตั้งค่าให้เหมือนกับค่าในช่วง A2:A11 ของ Sheet1 :

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