รับค่าเซลล์ใน Excel VBA (ตัวอย่างทีละขั้นตอน)

รับมูลค่าเซลล์ด้วย 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 เราสามารถเลือกหลายเซลล์ได้