วิธีส่งข้อมูลไปยังเซลล์ภายในตารางที่กำหนด

หัวใจของเคล็ดการเพิ่มผลงาน ลดความซับซ้อนของงานด้วย Excel VBA มิได้อยู่ที่การหาทางทำให้สามารถทำงานเสร็จเร็วขึ้น และทำให้งานที่มีขั้นตอนซับซ้อน กลายเป็นงานง่ายขึ้นเท่านั้น ยังต้องหาทางทำให้ตัวรหัส VBA ที่ใช้ มีความซับซ้อนลดลงไปด้วย ซึ่งในบทที่แล้วได้แนะนำชุดคำสั่งชื่อ SendData และจากนี้ไปเราจะมาดูกันว่า รหัสคำสั่งเพียงแค่ 2 บรรทัดใน SendData จะนำไปใช้ในการับส่งข้อมูลในแบบต่างๆกันได้อย่างไร โดยมีข้อแม้สำคัญว่า เราจะไม่แก้ไขรหัส VBA 2 บรรทัดนั้นอีกเลย

ก่อนอื่นมาดูกันอีกทีว่า ชุดคำสั่ง SendData มีหน้าตาอย่างไรและทำงานได้อย่างไร

Sub SendData()
    MyVar = [Source]
    [Target] = MyVar
End Sub

ชุดคำสั่งนี้ สั่งให้ข้อมูลที่อยู่ใน Range Name ชื่อ Source ส่งไปพักไว้ในตัวแปรชื่อ MyVar จากนั้นจึงสั่งให้ MyVar ส่งข้อมูลที่เก็บไว้ต่อไปยัง Range Name ชื่อ Target

ตัวอย่าง

image016

สิ่งที่ต้องการ

ส่งตัวเลข 777 หรือค่าใดๆที่บันทึกไว้ในเซลล์ B4 ไปเก็บไว้ในตารางชื่อ MyData ณ ตำแหน่ง row ที่ 5 ตัดกับ column ที่ 2 หรือตำแหน่งอื่นใดก็ได้ที่อยู่ใน MyData

ขั้นตอนการสร้างงาน

  1. สร้าง Range Name ชื่อ Source ให้กับเซลล์ B4
  2. สร้าง Range Name ชื่อ MyData ให้กับเซลล์ D2:F10
  3. สร้าง Formula Name ชื่อ Target ให้เป็นสูตร
    =INDEX( MyData, $B$2, $B$3)

วิเคราะห์สูตร

Target
=INDEX( MyData, $B$2, $B$3 )

เมื่อกำหนดตำแหน่ง Row และ Column ลงไปในเซลล์ B2 และ B3 ตามลำดับ จะส่งผลให้ข้อมูลจาก Source ส่งไปที่ MyVar ต่อไปยัง Target แล้วสูตร Index จะเป็นตัวกำหนดตำแหน่ง Row และ Column ของเซลล์ที่รับค่าในที่สุด

ต้องระวังในการกำหนดตำแหน่ง Row และ Column เพราะสูตร Index สามารถรับค่าลงไปเฉพาะขอบเขตพื้นที่ของ MyData เท่านั้น ซึ่ง MyData มีขนาดความสูง 9 row และมีความกว้าง 3 column จึงทำให้เลข Row และ Column ช่วงที่ใช้ได้ คือ Row ที่ 1 - 9 และ Column ที่ 1 - 3

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234