Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ในบทความนี้ ผมจะแสดงให้คุณเห็นว่าคุณสามารถใช้ VBA . ได้อย่างไร ช่วงที่มีหมายเลขแถวตัวแปรใน Excel คุณจะได้เรียนรู้การทำงานกับ VBA range เพื่อเลือกช่วงของเซลล์ แทรกตัวเลขลงในช่วงของเซลล์ ดำเนินการทางคณิตศาสตร์ในช่วงของเซลล์ และระบายสีช่วงของเซลล์ ทั้งหมดด้วยหมายเลขแถวที่แปรผัน

รหัส VBA เพื่อกำหนดช่วงด้วยหมายเลขแถวตัวแปรใน Excel (มุมมองด่วน)

Sub Range_with_Variable_Row_Number()

First_Cell = InputBox("Enter the First Cell of the Range: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Total Number of Rows of the Range: ")

Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))

End Sub

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

คำอธิบายของรหัส:

  • โค้ดรับอินพุต 2 รายการ คือเซลล์แรกของช่วงที่เรียกว่า First_Cell และจำนวนแถวตัวแปรทั้งหมดในช่วงที่เรียกว่า Number_of_Rows .
  • จากนั้นจะสร้างช่วงของแถวที่เรียกว่า Rng โดยเริ่มจาก First_Cell ถึงจำนวนแถวทั้งหมดที่คุณต้องการ
  • ตัวอย่างเช่น ถ้า First_Cell . ของคุณ คือ B4 และ Number_of_Rows คือ 10 จากนั้นเอาต์พุต Rng คือ B4:B13 .
  • ใช้การอ้างอิงเซลล์สัมพัทธ์ .เสมอ ของ First_Cell ไม่ใช่ สัมบูรณ์ หรือ การอ้างอิงเซลล์แบบผสม (ใช้ B4 ไม่ใช่ $B$4 หรือ $B4 )

4 ตัวอย่างการใช้ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (มุมมองด่วน)

เรามีชุดข้อมูลที่มี ชื่อ และ เงินเดือน ของพนักงานบางคนของบริษัท Jupyter Group

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

วันนี้เราจะพยายามทำงานกับช่วงที่มีหมายเลขแถวตัวแปรโดยใช้ VBA ในชุดข้อมูลนี้

1. เลือกช่วงที่มีหมายเลขแถวตัวแปรด้วย VBA ใน Excel

ก่อนอื่น มาพัฒนา มาโคร . กัน เพื่อเลือกช่วงที่มีหมายเลขแถวตัวแปรโดยใช้ VBA .

มาเลือกชื่อ 5ที่ 1 กันเถอะ พนักงาน

คุณสามารถใช้ โค้ด VBA . ต่อไปนี้ เพื่อจุดประสงค์นี้:

รหัส VBA:

Sub Select_Range()

First_Cell = InputBox("Enter the First Cell to Select: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Number of Rows to Select: ")

Rng = First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10)

Range(Rng).Select

End Sub

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ผลลัพธ์:

เรียกใช้มาโคร (Select_Range ). คุณจะได้รับช่องใส่ของ 2 ช่อง

ที่ 1 กล่องจะขอให้คุณป้อนเซลล์ที่ 1 ของช่วงที่คุณต้องการเลือก นี่คือ B4 , เซลล์ที่มีพนักงานคนที่ 1

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

คลิก ตกลง . ช่องป้อนข้อมูลที่ 2 จะถามจำนวนแถวที่คุณต้องการเลือก นี่ 5 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

คลิกอีกครั้งตกลง . แล้วคุณจะได้ชื่อ 5 first ตัวแรก พนักงานที่เลือกในชุดข้อมูลของคุณ

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

อ่านเพิ่มเติม: วิธีรับหมายเลขแถวจากช่วงด้วย Excel VBA (9 ตัวอย่าง)

2. แทรกตัวเลขในช่วงที่มีตัวเลขแถวตัวแปรใน Excel

คุณยังสามารถแทรกตัวเลขในช่วงที่มีตัวเลขแถวตัวแปรด้วย VBA ใน Excel

ใส่ได้ทั้งตัวเลขคงที่และชุดตัวเลข

มาเป็นอันดับ 1 5 พนักงานตั้งแต่ 1 ถึง 5 .

นั่นคือ แทรกชุดของ 1 ถึง 5 เหลือชื่อที่ 1 5 พนักงาน (A4:A8 )

คุณสามารถใช้ โค้ด VBA . ต่อไปนี้ เพื่อจุดประสงค์นี้:

รหัส VBA:

Sub Insert_Numbers()

First_Cell = InputBox("Enter the First Cell to Insert Number: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Total Number of Rows to Insert Numbers: ")

Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))

Series_or_Fixed = Int(InputBox("Enter 1 to Enter a Series of Numbers: " + vbNewLine + vbNewLine + "OR" + vbNewLine + vbNewLine + "Enter 2 to Enter a Fixed Number: "))

If Series_or_Fixed = 1 Then

    First_Number = Int(InputBox("Enter the First Number: "))
    Increment = Int(InputBox("Enter the Increment: "))
    For i = 1 To Rng.Rows.Count
        Rng.Cells(i, 1) = First_Number + (i - 1) * Increment
    Next i

ElseIf Series_or_Fixed = 2 Then
    Number = Int(InputBox("Enter the Fixed Number: "))
    For i = 1 To Rng.Rows.Count
        Rng.Cells(i, 1) = Number
    Next i

End If

End Sub

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ผลลัพธ์:

เรียกใช้ มาโคร . นี้ (Insert_Numbers ). คุณจะได้รับกล่องอินพุตสองสามกล่อง

ที่ 1 กล่องจะขอให้คุณป้อนเซลล์แรกเพื่อแทรกตัวเลข นี่คือ A4 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

คลิก ตกลง . ที่ 2 กล่องจะขอให้คุณป้อนจำนวนแถวทั้งหมดที่จะแทรกตัวเลข

นี่ 5 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ที่ 3 กล่องจะถามคุณว่าคุณต้องการชุดตัวเลขหรือตัวเลขคงที่

ป้อน 1 สำหรับชุดตัวเลข

ป้อน 2 สำหรับหมายเลขที่แน่นอน

ที่นี่ฉันต้องการชุดตัวเลข เลยเข้า 1 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ที่ 4 กล่องจะถามคุณหมายเลขแรกของซีรีส์ ฉันต้องการซีรีย์ 1 ถึง 5 . ดังนั้นฉันจึงเข้าสู่ 1 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

กล่องสุดท้ายจะขอให้คุณป้อนส่วนเพิ่ม ในชุดของ 1, 2, 3, 4, 5, มันคือ 1 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

คลิก ตกลง . และคุณจะได้ชุด 1 ถึง 5 อยู่ในช่วง A4:A8 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

อ่านเพิ่มเติม: วิธีใช้ช่วงที่มีตัวเลขแถวตัวแปรใน Excel

การอ่านที่คล้ายกัน

  • VBA เพื่อใช้ช่วงตามหมายเลขคอลัมน์ใน Excel (4 วิธี)
  • วิธีการเลือกช่วงตามค่าของเซลล์ VBA (7 วิธี)
  • ใช้ออบเจ็กต์ช่วงของ VBA ใน Excel (5 คุณสมบัติ)
  • VBA เพื่อตั้งค่าช่วงใน Excel (7 ตัวอย่าง)
  • วิธีค้นหาหมายเลขแถวโดยใช้ VBA ใน Excel (4 Macros)

3. ดำเนินการทางคณิตศาสตร์ในช่วงที่มีตัวเลขแถวตัวแปรใน Excel

ต่อไป เราจะพัฒนา มาโคร เพื่อดำเนินการทางคณิตศาสตร์ในช่วงที่มีหมายเลขแถวตัวแปร

ตัวอย่างเช่น ลองคิดดูสักครู่ว่าหัวหน้ากลุ่ม Jupyter ต้องการเพิ่มเงินเดือนพนักงาน 5 คนแรก $10,000 .

เราจะพัฒนา มาโคร เพื่อบรรลุวัตถุประสงค์ของเขา

คุณสามารถใช้ โค้ด VBA . ต่อไปนี้ :

รหัส VBA:

Sub Mathematical_Operation()

First_Cell = InputBox("Enter the First Cell to Perform Operation: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Total Number of Rows to Perform Operation: ")

Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))

Operation = Int(InputBox("Enter the Operation to Perform: " + vbNewLine + "Enter 1 for Addition: " + vbNewLine + "Enter 2 for Subtraction: " + vbNewLine + "Enter 3 for Multiplication: " + vbNewLine + "Enter 4 for Division: "))

Operations = Array("Add", "Subtract", "Multiply", "Divide")

Number = Int(InputBox("Enter the Number to " + Operations(Operation - 1) + ": "))

For i = 1 To Rng.Rows.Count

    If Operation = 1 Then
        Rng.Cells(i, 1) = Rng.Cells(i, 1).Value + Number
    End If

    If Operation = 2 Then
        Rng.Cells(i, 1) = Rng.Cells(i, 1).Value - Number
    End If

    If Operation = 3 Then
        Rng.Cells(i, 1) = Rng.Cells(i, 1).Value * Number
    End If

    If Operation = 4 Then
        Rng.Cells(i, 1) = Rng.Cells(i, 1).Value / Number
    End If

Next i

End Sub

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ผลลัพธ์:

เรียกใช้ มาโคร (คณิตศาสตร์_การดำเนินการ ). คุณจะได้รับ 4 ช่องใส่ของ

ที่ 1 กล่องจะขอให้คุณเข้าสู่เซลล์แรกเพื่อดำเนินการตามปกติ

ในตัวอย่างนี้ เป็นเงินเดือนของพนักงานคนที่ 1 เซลล์ C4 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

กล่องที่ 2 จะถามคุณถึงจำนวนแถวทั้งหมดที่จะดำเนินการ

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ช่องที่ 3 จะขอให้คุณเข้าสู่การดำเนินการที่คุณต้องการดำเนินการ

ป้อน 1 เพิ่มเติม

ป้อน 2 สำหรับการลบ

3 สำหรับการคูณ

และ 4 สำหรับดิวิชั่น

ที่นี่ฉันต้องการการเพิ่ม เลยเข้า 1 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

สุดท้าย ที่ 4 กล่องจะขอให้คุณป้อนหมายเลขที่จะเพิ่ม ที่นี่ฉันป้อน 10000 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

คลิก ตกลง . และคุณจะพบว่าเงินเดือนของพนักงาน 5 คนแรกเพิ่มขึ้น $10,000 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

อ่านเพิ่มเติม: ค้นหาสตริงในคอลัมน์และส่งคืนหมายเลขแถวใน Excel (7 วิธี)

4. เซลล์สีของช่วงที่มีตัวเลขแถวตัวแปรใน Excel

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

มาระบายสีชื่อพนักงานห้าคนแรกให้เป็นสีแดงกันเถอะ

คุณสามารถใช้ โค้ด VBA . ต่อไปนี้ :

รหัส VBA:

Sub Color_Range()

First_Cell = InputBox("Enter the First Cell to Color: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Total Number of Rows to Color: ")

Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))

Color_Code = Int(InputBox("Enter the Color Code: " + vbNewLine + "Enter 3 for Color Red." + vbNewLine + "Enter 5 for Color Blue." + vbNewLine + "Enter 6 for Color Yellow." + vbNewLine + "Enter 10 for Color Green."))

Background_or_Text = Int(InputBox("Enter 1 to Color the Whole Background of the Cells: " + vbNewLine + vbNewLine + "Or" + vbNewLine + vbNewLine + "Enter 2 to Color Only the Texts: "))

For i = 1 To Rng.Rows.Count

    If Background_or_Text = 1 Then
        Rng(i, 1).Interior.ColorIndex = Color_Code
    ElseIf Background_or_Text = 2 Then
        Rng.Cells(i, 1).Characters(1, Len(Rng.Cells(i, 1))).Font.ColorIndex = Color_Code
    End If

Next i

End Sub

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ผลลัพธ์:

เรียกใช้ มาโคร (Color_Range ). คุณจะได้รับช่องใส่ของ 4 ช่อง

ที่ 1 กล่องจะขอให้คุณป้อนเซลล์แรกเพื่อระบายสี

นี่คือพนักงานคนแรก เซลล์ B4

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ที่ 2 กล่องจะถามถึงจำนวนแถวที่จะลงสีทั้งหมด นี่ 5 .

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

ที่ 3 กล่องจะขอให้คุณเลือกสี ป้อนดัชนีสีตาม รหัสสีของ Microsoft .

ที่นี่ฉันป้อน 6 (สำหรับ สีเหลือง สี)

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

กล่องสุดท้ายจะถามว่าคุณต้องการให้สีพื้นหลังทั้งหมดของเซลล์หรือเฉพาะข้อความ

ฉันได้ป้อน 1 (พื้นหลังทั้งหมด)

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

คลิก ตกลง . และคุณจะได้พื้นหลังทั้งหมดของชื่อ 5 ชื่อที่ไฮไลต์เป็นสีเหลือง

ช่วง VBA ที่มีหมายเลขแถวตัวแปรใน Excel (4 ตัวอย่าง)

อ่านเพิ่มเติม: วิธีรับจำนวนแถวของเซลล์ปัจจุบันใน Excel (4 วิธีด่วน)

บทสรุป

เมื่อใช้วิธีการเหล่านี้ คุณสามารถใช้ VBA ช่วงที่มีหมายเลขแถวตัวแปรใน Excel คุณมีคำถามใด ๆ หรือไม่? สนใจสอบถามได้นะคะ

บทความที่เกี่ยวข้อง

  • วิธีใช้ VBA Range Offset (11 วิธี)
  • VBA สำหรับแต่ละเซลล์ในช่วงใน Excel (3 วิธี)
  • วนรอบช่วงสำหรับแต่ละเซลล์ด้วย Excel VBA (Ultimate Guide)
  • คัดลอกช่วง Excel VBA ไปยังชีตอื่น (8 วิธีที่ง่ายที่สุด)
  • Excel VBA:ค้นหาสตริงในคอลัมน์และส่งคืนหมายเลขแถว
  • วิธีการเพิ่มหมายเลขแถวในสูตร Excel (6 วิธีที่มีประโยชน์)