วิธีใช้ฟังก์ชัน VBA LBound Array (พร้อมตัวอย่าง)

ฟังก์ชัน Excel VBA LBound

LBound ใน VBAย่อมาจาก“ Lower Bound” คือจะดึงจำนวนอาร์เรย์ที่ต่ำที่สุดออกมา ตัวอย่างเช่นถ้าอาร์เรย์ระบุว่า "Dim ArrayCount (2 ถึง 10) เป็น String" จากนั้นใช้ฟังก์ชัน LBound เราจะพบจำนวนน้อยที่สุดของความยาวอาร์เรย์เช่น 2

ด้านล่างนี้คือไวยากรณ์ของฟังก์ชัน LBound มันง่ายและสะดวกมากมีเพียงสองพารามิเตอร์เท่านั้น

Lbound (ชื่ออาร์เรย์ [, มิติ])
  • Array Name:นี่คืออาร์กิวเมนต์แรก สำหรับพารามิเตอร์นี้เราจำเป็นต้องระบุชื่อของอาร์เรย์ที่ใช้กำหนดอาร์เรย์
  • [Dimension]:หากอาร์เรย์เป็นมิติเดียวก็ไม่จำเป็นต้องใช้โดยค่าเริ่มต้นจะต้องใช้เวลาอย่างน้อยหนึ่งอย่างที่เราต้องระบุหมายเลขมิติ

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

จะใช้ VBA LBound Function ได้อย่างไร? (ตัวอย่าง)

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

ตัวอย่าง # 1

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

รหัส:

 Sub LBound_Example1 () Dim Count (2 ถึง 5) เป็น Integer MsgBox LBound (Count) End Sub 

ในโค้ดด้านบนเราได้กำหนดอาร์เรย์เป็นจำนวนเต็มและขนาดของอาร์เรย์เป็น 2 ถึง 5 ต่อไปเราได้กำหนดกล่องข้อความ VBA เพื่อแสดงความยาวต่ำสุดของอาร์เรย์โดยใช้ฟังก์ชัน LBound

เมื่อเรารันโค้ดเราจะได้ผลลัพธ์ด้านล่างในกล่องข้อความ

เอาท์พุต:

เนื่องจากอาร์เรย์ของเราเริ่มต้นจาก 2 ฟังก์ชัน LBound จะกำหนดความยาวต่ำสุดของอาร์เรย์เป็น 2

ตัวอย่าง # 2

ตอนนี้ดูรหัสด้านล่าง

รหัส:

 Sub LBound_Example2 () Dim Count (5) เป็นจำนวนเต็ม MsgBox LBound (Count) End Sub 

ในข้างต้นเรายังไม่ได้กำหนดขีด จำกัด ต่ำสุด แต่เราแค่ระบุความยาวอาร์เรย์เป็น 5 ตอนนี้เรามารันโค้ดและดูความยาวต่ำสุดของค่า

เอาท์พุต:

มันส่งคืนผลลัพธ์เป็น 0 เพราะเมื่อเราไม่ตัดสินใจจุดเริ่มต้นและจุดสิ้นสุดของอาร์เรย์แทนที่จะให้จำนวนคงที่ตัวอย่างเช่น "Count (5) เช่นในกรณีนี้ค่าอาร์เรย์เริ่มจาก 0 ไม่ใช่จาก 1 ดังนั้นเรา สามารถจัดเก็บค่าได้ทั้งหมด 6 ค่าในตอนนี้

นับ (0), นับ (1), นับ (2), นับ (3), นับ (4), นับ (5)

ตัวอย่าง # 3

ตอนนี้เราจะใช้ช่วงข้อมูลและตัดสินใจขอบเขตล่างจากช่วงของข้อมูล ดูตัวอย่างได้จากภาพข้อมูลด้านล่าง

จากช่วงนี้เราจะตัดสินใจเลือกขนาดแถวต่ำสุดและสูงสุด

ขั้นแรกกำหนดตัวแปรเป็นตัวแปร

รหัส:

 Sub LBound_Example3 () Dim Rng As Variant End Sub 

สำหรับตัวแปรตัวแปร“ Rng” นี้ตั้งค่าอ้างอิงช่วงเป็น“ ช่วง (“ B2: B5”) ค่า”

รหัส:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("B2: B5") ค่า End Sub 

สำหรับช่วงนี้เราจะพบความยาวอาร์เรย์ต่ำสุดและสูงสุด เปิดกล่องข้อความและฟังก์ชัน LBound และระบุชื่อตัวแปร

รหัส:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("B2: B5") ค่า MsgBox LBound (Rng) End Sub 

ตอนนี้เรียกใช้รหัส VBA และดูค่าต่ำสุดจากความยาว

เอาท์พุต:

ตอนนี้เปลี่ยนการอ้างอิงตัวแปรจาก B2: B5 เป็น A2: B5

สำหรับช่วงนี้เราจะพบค่าขอบเขตล่างและขอบเขตบน

รหัส:

 Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("A2: B5") ค่า End Sub 

เนื่องจากเรามีอาร์เรย์มิติมากกว่าหนึ่งรายการเราจึงจำเป็นต้องระบุหมายเลขมิติด้วย

รหัส:

 Sub LBound_Example3() Dim Rng As Variant Rng = Range("A2:B5").Value MsgBox LBound(Rng, 1) End Sub 

To find the first column first lower bound above code will help, similarly to find the upper bound in this first column below code will help.

Code:

 Sub LBound_Example3() Dim Rng As Variant Rng = Range("A2:B5").Value MsgBox LBound(Rng, 1) & vbNewLine & UBound(Rng, 1) End Sub 

This will find the first column lower length and upper length. Similarly in the next line write one more message box but this time change the dimension from 1 to 2.

Code:

 Sub LBound_Example3() Dim Rng As Variant Rng = Range("A2:B5").Value MsgBox LBound(Rng, 1) & vbNewLine & UBound(Rng, 1) MsgBox LBound(Rng, 2) & vbNewLine & UBound(Rng, 2) End Sub 

Run the code and see the result in the message box.

Output:

For the first dimension lower bound is 1 and the upper bound is 4.

Click on “Ok” to get the next dimension limits.

Output:

For the second dimension lower limit is 1 and the upper limit is 2.

Things to Remember here

  • LBound function returns the minimum length from the array.
  • When the array length static i.e. single number then array always starts from the number 0 not from 1.
  • In the case of a multi-dimensional array, we need to specify the dimension number.