Page 1 of 1

ต้องการให้เลข 1-12 รันในขนาดของแถวที่กำหนด แล้วปัดขึ้นไปรันต่อที่คอลัมน์ถัดไปครับ

Posted: Sun Jun 19, 2022 10:57 pm
by 10idlnw
ผมต้องการให้เลข 1-12 รันในขนาดของแถวที่กำหนด โดยเริ่มต้นที่ ActiveCell ที่กำหนด แล้วปัดขึ้นไปรันต่อที่คอลัมน์ถัดไปครับ ต้องปรับสูตรยังไงครับ

Code: Select all

Sub runNumber()
Dim rng As Range
Set rng = ActiveCell
Dim i As Integer

For i = 1 To 12
    rng.Offset(i * 1, 0).Value = i
Next i
 
End Sub
2022-06-19_22-49-46.jpg
2022-06-19_22-53-44.jpg

Re: ต้องการให้เลข 1-12 รันในขนาดของแถวที่กำหนด แล้วปัดขึ้นไปรันต่อที่คอลัมน์ถัดไปครับ

Posted: Mon Jun 20, 2022 12:00 am
by 10idlnw
ผลลองหาวิธีให้มันรันตัวเลขตามจำนวนแถวที่กำหนดได้แล้ว แต่ผมไม่รู้ว่า ถ้าให้เริ่ม ณ ActiveCell ที่เรากำหนด จะต้องปรับโค้ดเพิ่มเติมยังไงครับ

Code: Select all

Sub MyNumber()
    Const nCols As Integer = 20
    Const nRows As Integer = 10
    
    Dim iRow As Integer
    For iRow = 1 To nCols
        Dim i As Integer
        i = (iRow - 1) \ nRows + 1
        Dim j As Integer
        j = iRow - nRows * (i - 1)
        Cells(i, j).Value = iRow
    Next iRow
    
End Sub

Re: ต้องการให้เลข 1-12 รันในขนาดของแถวที่กำหนด แล้วปัดขึ้นไปรันต่อที่คอลัมน์ถัดไปครับ

Posted: Mon Jun 20, 2022 7:15 am
by snasui
10idlnw wrote: Mon Jun 20, 2022 12:00 am ถ้าให้เริ่ม ณ ActiveCell ที่เรากำหนด จะต้องปรับโค้ดเพิ่มเติมยังไงครับ
:D ปรับ Cells(i, j).Value = iRow เป็น ActiveCell.Offset(i - 1, j - 1).Value = iRow ครับ

Re: ต้องการให้เลข 1-12 รันในขนาดของแถวที่กำหนด แล้วปัดขึ้นไปรันต่อที่คอลัมน์ถัดไปครับ

Posted: Mon Jun 20, 2022 9:34 am
by 10idlnw
ขอบคุณครับอาจารย์ ทดสอบแล้วทำงานได้ตามต้องการครับ