VBA Active Cell | จะค้นหาที่อยู่ของคอลัมน์หรือแถวของเซลล์ที่ใช้งานอยู่ได้อย่างไร

Active Cell ใน Excel VBA

เซลล์ที่ใช้งานอยู่คือเซลล์ที่เลือกไว้ในแผ่นงานเซลล์ที่ใช้งานอยู่ใน VBA สามารถใช้เช่นการอ้างอิงเพื่อย้ายไปยังเซลล์อื่นหรือเปลี่ยนคุณสมบัติของเซลล์ที่ใช้งานเดียวกันหรือการอ้างอิงเซลล์จากเซลล์ที่ใช้งานอยู่เซลล์ที่ใช้งานอยู่ใน VBA สามารถ เข้าถึงได้โดยใช้เมธอด application.property กับเซลล์ที่ใช้งานคีย์เวิร์ด

ในการทำงานอย่างมีประสิทธิภาพกับการเข้ารหัส VBA สิ่งสำคัญคือต้องเข้าใจแนวคิดของคุณสมบัติของวัตถุช่วงและเซลล์ใน VBA ในแนวคิดเหล่านี้มีอีกแนวคิดหนึ่งที่คุณต้องพิจารณานั่นคือ“ VBA Active Cell”

ใน excel มีเซลล์หลายล้านเซลล์และข้อสงสัยของคุณคือเซลล์ที่ใช้งานอยู่ สำหรับตัวอย่างดูภาพด้านล่าง

ในรูปด้านบนเรามีเซลล์หลายเซลล์ในการค้นหาว่าเซลล์ใดเป็นเซลล์ที่ใช้งานอยู่มันง่ายมากไม่ว่าเซลล์ใดจะถูกเลือกในขณะนี้เรียกว่า "Active Cell" ใน VBA

หากเซลล์ที่ใช้งานของคุณไม่ปรากฏในหน้าต่างของคุณให้ดูที่กล่องชื่อมันจะแสดงที่อยู่ของเซลล์ที่ใช้งานอยู่ในที่อยู่ของเซลล์ที่ใช้งานอยู่ด้านบนคือ B3

แม้ว่าเซลล์จำนวนมากจะถูกเลือกเป็นช่วงของเซลล์อะไรก็ตามที่เซลล์แรกอยู่ในการเลือกจะกลายเป็นเซลล์ที่ใช้งานอยู่ ตัวอย่างเช่นดูภาพด้านล่าง

# 1 - การอ้างอิงใน Excel VBA

ในบทความก่อนหน้านี้เราได้เห็นวิธีการอ้างอิงเซลล์ใน VBA โดยคุณสมบัติ Active Cell เราสามารถอ้างอิงเซลล์

ตัวอย่างเช่นหากเราต้องการเลือกเซลล์ A1 และแทรกค่า“ สวัสดี” เราสามารถเขียนได้สองวิธี ด้านล่างนี้เป็นวิธีการเลือกเซลล์และแทรกค่าโดยใช้ออบเจ็กต์ VBA“ RANGE”

รหัส:

 Sub ActiveCell_Example1 () ช่วง ("A1") เลือกช่วง ("A1") ค่า = "สวัสดี" End Sub 

ขั้นแรกจะเป็นการเลือกเซลล์ A1 ช่วง (“ A1”) เลือก”

จากนั้นจะแทรกค่า“ สวัสดี” ในเซลล์ A1 ช่วง (“ A1”) ค่า =“ สวัสดี”

ตอนนี้ฉันจะลบช่วงบรรทัด(“ A1”) ค่า =“ สวัสดี”และใช้คุณสมบัติ Active Cell เพื่อแทรกค่า

รหัส:

 Sub ActiveCell_Example1 () Range ("A1") เลือก ActiveCell.Value = "Hello" End Sub 

ในทำนองเดียวกันขั้นแรกจะเลือกเซลล์ A1 ช่วง (“ A1”) เลือก”

แต่ที่นี่ฉันใช้ActiveCell.Value =“ Hello”แทนRange (“ A1”) Value =“ Hello”

สาเหตุที่ฉันใช้คุณสมบัติ Active Cell เพราะเมื่อฉันเลือกเซลล์ A1 มันจะกลายเป็นเซลล์ที่ใช้งานอยู่ ดังนั้นเราสามารถใช้คุณสมบัติ Excel VBA Active Cell เพื่อแทรกค่า

# 2 - ที่อยู่เซลล์ที่ใช้งานค่าแถวและหมายเลขคอลัมน์

เพื่อให้เข้าใจได้ดียิ่งขึ้นให้แสดงที่อยู่ของเซลล์ที่ใช้งานอยู่ในกล่องข้อความ ตอนนี้ดูภาพด้านล่าง

ในภาพด้านบนเซลล์ที่ใช้งานอยู่คือ“ B3” และค่าคือ 55 ลองเขียนโค้ดใน VBA เพื่อรับที่อยู่ของเซลล์ที่ใช้งานอยู่

รหัส:

 ย่อย ActiveCell_Example2 () MsgBox ActiveCell.Address End Sub 

เรียกใช้รหัสนี้โดยใช้ปุ่ม F5 หรือด้วยตนเองจากนั้นจะแสดงที่อยู่ของเซลล์ที่ใช้งานอยู่ในกล่องข้อความ

เอาท์พุต:

โค้ดด้านล่างจะแสดงค่าของเซลล์ที่ใช้งานอยู่ในทำนองเดียวกัน

รหัส:

 ย่อย ActiveCell_Example2 () MsgBox ActiveCell.Value End Sub 

เอาท์พุต:

ด้านล่างโค้ดจะแสดงหมายเลขแถวของเซลล์ที่ใช้งานอยู่

รหัส:

 ย่อย ActiveCell_Example2 () MsgBox ActiveCell.Row End Sub 

เอาท์พุต:

ด้านล่างรหัสจะแสดงหมายเลขคอลัมน์ของเซลล์ที่ใช้งานอยู่

รหัส:

 ย่อย ActiveCell_Example2 () MsgBox ActiveCell.Column End Sub 

เอาท์พุต:

# 3 - พารามิเตอร์ของ Active Cell ใน Excel VBA

คุณสมบัติ Active Cell มีพารามิเตอร์เช่นกัน หลังจากป้อนคุณสมบัติ ActiveCell วงเล็บเปิดเพื่อดูพารามิเตอร์

การใช้พารามิเตอร์นี้เราสามารถอ้างถึงเซลล์อื่นได้เช่นกัน

ตัวอย่างเช่นActiveCell (1,1)หมายถึงเซลล์ใดที่ทำงานอยู่ หากคุณต้องการเลื่อนลงหนึ่งแถวไปด้านล่างคุณสามารถใช้ActiveCell (2,1)ที่นี่ 2 ไม่ได้หมายความว่าให้เลื่อนลงสองแถวแทนที่จะเป็นเพียงแถวเดียวในทำนองเดียวกันหากคุณต้องการย้ายหนึ่งคอลัมน์ไปทางขวา นี่คือรหัสActiveCell (2,2)

สำหรับตัวอย่างดูภาพด้านล่าง

ในภาพด้านบนเซลล์ที่ใช้งานอยู่คือ A2 เพื่อแทรกค่าให้กับเซลล์ที่ใช้งานอยู่ให้คุณเขียนโค้ดนี้

รหัส:

ActiveCell.Value =“ Hiiii”หรือActiveCell (1,1) .Value =“ Hiiii”

เรียกใช้รหัสนี้ด้วยตนเองหรือผ่านปุ่ม F5 ซึ่งจะแทรกค่า“ Hiiii” ลงในเซลล์

ตอนนี้ถ้าคุณต้องการแทรกค่าเดียวกันลงในเซลล์ด้านล่างคุณสามารถใช้รหัสนี้ได้

รหัส:

ActiveCell (2,1) .Value =“ Hiiii”

สิ่งนี้จะแทรกค่าลงในเซลล์ด้านล่างเซลล์ที่ใช้งานอยู่

หากคุณต้องการแทรกค่าลงในคอลัมน์เดียวคุณสามารถใช้รหัสนี้ได้

รหัส:

ActiveCell (1,2) .Value =“ Hiiii”

สิ่งนี้จะแทรก“ Hiiii” ไปยังเซลล์คอลัมน์ถัดไปของเซลล์ที่ใช้งานอยู่

เช่นนี้เราสามารถอ้างอิงเซลล์ใน VBA โดยใช้ Active Cell Property

หวังว่าคุณจะสนุกกับมัน ขอขอบคุณที่สละเวลากับเรา

คุณสามารถดาวน์โหลดเทมเพลต VBA Active Cell Excel ได้ที่นี่: - VBA Active Cell Template