Vba: วิธีใช้ randbetween เพื่อสร้างตัวเลขสุ่ม


คุณสามารถใช้เมธอด RandBetween ใน VBA เพื่อสร้างจำนวนเต็มแบบสุ่มระหว่างค่าเฉพาะสองค่าได้

ต่อไปนี้เป็นสองวิธีทั่วไปในการใช้วิธีนี้ในทางปฏิบัติ:

วิธีที่ 1: ใช้ RandBetween เพื่อสร้างจำนวนเต็มแบบสุ่ม

 SubGenerateRandomInteger ()
Range(" A1 ") = WorksheetFunction.RandBetween(1, 100)
End Sub

มาโครนี้จะสร้างจำนวนเต็มแบบสุ่มระหว่าง 1 ถึง 100 ในเซลล์ A1

วิธีที่ 2: ใช้ RandBetween เพื่อสร้างจำนวนเต็มสุ่มหลายจำนวน

 Sub GenerateMultipleRandomIntegers()

    Dim i As Integer
    
    For i = 1 To 10
        Range(" A " & i) = WorksheetFunction.RandBetween(1, 100)
    Next i
    
End Sub

มาโครนี้จะสร้างจำนวนเต็มแบบสุ่มระหว่าง 1 ถึง 100 สำหรับแต่ละเซลล์ในช่วง A1:A10

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ

ตัวอย่างที่ 1: ใช้ RandBetween เพื่อสร้างจำนวนเต็มแบบสุ่ม

สมมติว่าเราต้องการสร้างตัวเลขสุ่มระหว่าง 1 ถึง 100 และวางผลลัพธ์ไว้ในเซลล์ A1 ของแผ่นงานปัจจุบันของเราใน Excel

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 SubGenerateRandomInteger ()
Range(" A1 ") = WorksheetFunction.RandBetween(1, 100)
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดสังเกตว่าเซลล์ A1 มีค่า 36

โปรดทราบว่าแต่ละครั้งที่เราเรียกใช้มาโครนี้ สามารถสร้างค่าจำนวนเต็มที่แตกต่างกันระหว่าง 1 ถึง 100 ได้

ตัวอย่างที่ 2: ใช้ RandBetween เพื่อสร้างจำนวนเต็มสุ่มหลายจำนวน

สมมติว่าเราต้องการสร้างจำนวนเต็มสุ่มระหว่าง 1 ถึง 100 สำหรับแต่ละเซลล์ในช่วง A1:A10 แทน

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub GenerateMultipleRandomIntegers()

    Dim i As Integer
    
    For i = 1 To 10
        Range(" A " & i) = WorksheetFunction.RandBetween(1, 100)
    Next i
    
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าแต่ละเซลล์ในช่วง A1:A10 จะมีจำนวนเต็มแบบสุ่มระหว่าง 1 ถึง 100

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี RandBetween VBA ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีเขียนฟังก์ชัน AVERAGEIF และ AVERAGEIFS
VBA: วิธีเขียนฟังก์ชัน SUMIF และ SUMIFS
VBA: วิธีเขียนฟังก์ชัน COUNTIF และ COUNTIFS

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *