รับมูลค่าเซลล์ด้วย Excel VBA
เซลล์คือเซลล์แต่ละเซลล์และยังเป็นส่วนหนึ่งของช่วงด้วยในทางเทคนิคมีสองวิธีในการโต้ตอบกับเซลล์ใน VBA และเป็นวิธีช่วงและวิธีเซลล์วิธีช่วงจะใช้เช่นช่วง (“ A2”) .Value ซึ่งจะให้ค่าของเซลล์ A2 แก่เราหรือเราสามารถใช้วิธีเซลล์เป็นเซลล์ (2,1) .value ซึ่งจะให้ค่าของเซลล์ A2 แก่เราด้วย
ไม่ว่าจะเป็นการทำงานที่ยอดเยี่ยมหรือการทำงานของ VBA เราทุกคนต้องทำงานกับเซลล์หรือเซลล์เนื่องจากข้อมูลทั้งหมดจะถูกเก็บไว้ในเซลล์ดังนั้นข้อมูลทั้งหมดจึงเป็นเรื่องที่เรารู้เกี่ยวกับเซลล์ใน VBA ได้ดีเพียงใด ดังนั้นหากเซลล์เป็นส่วนสำคัญของ VBA สิ่งสำคัญคือต้องทำความเข้าใจให้ดีและหากคุณเป็นผู้เริ่มต้นที่เกี่ยวข้องกับเซลล์ VBA บทความนี้จะแนะนำคุณเกี่ยวกับวิธีรับค่าเซลล์ใน Excel VBA โดยละเอียด
ก่อนอื่นเราสามารถอ้างอิงหรือทำงานกับเซลล์ใน VBA ได้สองวิธีคือโดยใช้คุณสมบัติ CELLS และวัตถุ RANGE เหตุใด CELLS จึงเป็นคุณสมบัติและเหตุใด RANGE จึงเป็นวัตถุจึงมีความคล้ายคลึงกันและต่อไปในบทความเราจะไปถึงจุดนั้น
ตัวอย่างการรับค่าเซลล์ใน Excel VBA
ด้านล่างนี้คือตัวอย่างของ Get Cell Value ใน Excel VBA
คุณสามารถดาวน์โหลด VBA Get Cell Value Excel Template ได้ที่นี่ - VBA Get Cell Value Excel Templateตัวอย่าง # 1 - การใช้คุณสมบัติ RANGE หรือ CELLS
ตัวอย่างเช่นในเซลล์ A1 เรามีค่าเป็น“ อินเดีย”
ในการอ้างอิงเซลล์นี้เราสามารถใช้คุณสมบัติ CELLS หรือวัตถุ RANGE ได้มาดูรายละเอียดทั้งสองอย่าง
การใช้คุณสมบัติช่วง
ขั้นแรกเริ่มขั้นตอนมาโคร
รหัส:
ย่อย Get_Cell_Value () End Sub
ตอนนี้เปิดวัตถุ RANGE
รหัส:
Sub Get_Cell_Value () ช่วง (End Sub
อาร์กิวเมนต์แรกของวัตถุนี้คือ“ Cell1” นั่นคือเซลล์ที่เรากำลังอ้างถึง ในกรณีนี้คือเซลล์ A1 ดังนั้นเราต้องใส่ที่อยู่ของเซลล์เป็นเครื่องหมายคำพูดคู่สำหรับวัตถุ RANGE
รหัส:
Sub Get_Cell_Value () ช่วง ("A1") End Sub
เนื่องจากมีเพียงเซลล์เดียวที่อ้างถึงพารามิเตอร์อื่น ๆ จึงไม่เกี่ยวข้องดังนั้นให้ปิดวงเล็บและใส่จุดเพื่อดูรายการ intellisense
ดังที่คุณเห็นด้านบนในขณะที่เราใส่จุดเราจะเห็นรายการคุณสมบัติและวิธีการของวัตถุช่วงที่มีอยู่ทั้งหมดของ intellisense
เนื่องจากเรากำลังเลือกเซลล์เราจึงต้องเลือกเมธอด“ SELECT” จากรายการ intellisense
รหัส:
Sub Get_Cell_Value () Range ("A1") เลือก End Sub
ตอนนี้เลือกเซลล์อื่นที่ไม่ใช่ A1 แล้วเรียกใช้รหัส
ไม่สำคัญว่าคุณจะเลือกเซลล์ใดในขณะที่คุณเรียกใช้โค้ดมันได้เลือกเซลล์ที่กล่าวถึงเช่นเซลล์ A1
การใช้คุณสมบัติของเซลล์
ในทำนองเดียวกันเราใช้คุณสมบัติ CELLS ในขณะนี้
รหัส:
ย่อย Get_Cell_Value () ช่วง ("A1") เลือกเซลล์ (End Sub
ซึ่งแตกต่างจากวัตถุ RANGE ที่เราสามารถจัดหาที่อยู่เซลล์ได้โดยตรง แต่การใช้คุณสมบัติ CELLS นี้เราไม่สามารถทำได้
อาร์กิวเมนต์แรกของคุณสมบัตินี้คือ "Row Index" คือแถวที่เราอ้างถึง เนื่องจากเรากำลังเลือกเซลล์ A1 เราจึงอ้างถึงแถวแรกดังนั้นให้พูดถึง 1
อาร์กิวเมนต์ถัดไปคือ "ดัชนีคอลัมน์" คือคอลัมน์ที่เราอ้างถึง คอลัมน์เซลล์ A1 คือคอลัมน์แรกดังนั้นให้ป้อน 1
โค้ดของเราอ่าน CELLS (1, 1) คือแถวแรกคอลัมน์แรก = A1
ตอนนี้ใส่จุดและดูว่าคุณจะเห็นรายการ intellisense หรือไม่
ด้วยคุณสมบัติของเซลล์เราไม่สามารถเห็นรายการ IntelliSense ใด ๆ ได้ดังนั้นเราจึงต้องแน่ใจในสิ่งที่เราเขียน ป้อน "เลือก" เป็นวิธีการ
รหัส:
Sub Get_Cell_Value () Range ("A1") เลือก Cells (1, 1) เลือก End Sub
นอกจากนี้ยังจะเลือกเซลล์ A1
ตัวอย่าง # 2 - รับค่าจากเซลล์ใน Excel VBA
การเลือกเป็นสิ่งแรกที่เราได้เรียนรู้ตอนนี้เราจะมาดูวิธีรับคุณค่าจากเซลล์ ก่อนที่เราจะเลือกเซลล์เราต้องกำหนดตัวแปรเพื่อเก็บค่าจากเซลล์
รหัส:
ย่อย Get_Cell_Value1 () Dim CellValue เป็น String End Sub
ตอนนี้กล่าวถึงที่อยู่เซลล์โดยใช้วัตถุ RANGE หรือคุณสมบัติ CELLS เนื่องจากคุณเป็นมือใหม่ให้ใช้วัตถุ RANGE เท่านั้นเพราะด้วยวัตถุ RANGE เราจึงได้เห็นรายการ intellisense
สำหรับตัวแปรที่กำหนดให้ใส่เครื่องหมายเท่ากับและระบุที่อยู่ของเซลล์
รหัส:
Sub Get_Cell_Value1 () Dim CellValue เป็น String CellValue = Range ("A1") End Sub
ใส่จุดอีกครั้งเพื่อดูรายการ intellisense
จากรายการ vba intellisense ให้เลือกคุณสมบัติ "Value" เพื่อรับค่าจากเซลล์ที่กล่าวถึง
รหัส:
Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1") ค่า End Sub
ตอนนี้ตัวแปร“ CellValue” เก็บค่าจากเซลล์ A1 แสดงค่าตัวแปรนี้ในกล่องข้อความใน VBA
รหัส:
Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1") ค่า MsgBox CellValue End Sub
โอเครันโค้ดและดูผลลัพธ์ในกล่องข้อความ
เนื่องจากมีค่า "INDIA" ในเซลล์ A1 สิ่งเดียวกันนี้จึงปรากฏในกล่องข้อความด้วย เช่นนี้โดยค่า VBA ของเซลล์เราจะได้ค่าของเซลล์
ตัวอย่าง # 3 - รับคุณค่าจากเซลล์หนึ่งไปยังอีกเซลล์หนึ่ง
เรารู้วิธีรับค่าจากเซลล์โดยใช้ vba ตอนนี้คำถามคือวิธีแทรกค่าลงในเซลล์ มาดูตัวอย่างเดียวกันเท่านั้นสำหรับเซลล์ A1 เราต้องแทรกค่าของ“ INDIA” ซึ่งสามารถทำได้จากโค้ดด้านล่าง
รหัส:
Sub Get_Cell_Value2 () ช่วง ("A1") ค่า = "INDIA" End Sub
สิ่งนี้จะแทรกค่าของ“ INDIA” ลงในเซลล์ A1 ในทำนองเดียวกันเพื่อรับค่าจากเซลล์หนึ่งไปยังอีกเซลล์หนึ่งเราสามารถเขียนโค้ดได้ดังนี้
รหัส:
Sub Get_Cell_Value2 () Range ("A5"). Value = Range ("A1") ค่า End Sub
ให้ฉันอธิบายรหัสให้คุณฟัง
“ สำหรับเซลล์ A5 เราต้องการค่าที่มาจากค่าเซลล์ A1” นั่นคือทั้งหมดที่รหัสนี้บอก ดังนั้นสิ่งนี้จะได้รับค่าจากเซลล์ A1 ถึง A5 โดยใช้รหัส VBA
สิ่งที่ต้องจำ
- การแทรกค่าลงในเซลล์และรับค่าจากเซลล์จำเป็นต้องใช้คุณสมบัติ VBA“ VALUE”
- การใช้คุณสมบัติ CELLS เราสามารถเลือกได้เพียงเซลล์เดียว แต่ใช้วัตถุ RANGE เราสามารถเลือกหลายเซลล์ได้