我有一個工作表,每個其他列填充數字1-9,從不同的行開始。我編寫了以下子文件,在每列中填充的單元格右側的單元格中填充「Test [number]」。使用數組來填充相鄰的單元格
我遇到了兩個不同的問題,我無法弄清楚。請參閱下面的示例之前和之後的截圖。
1 H列的值在第1行開始,但代碼開始於行人口2
2.將所得的無「試驗[數字]」細胞晃過列9
代碼:
Sub test()
Dim i As Long
Dim j As Long
Dim c As Long
Dim r As Long
Dim rng As Range
Dim crng As Range
Dim carr() As Variant
Dim rarr() As Variant
With ThisWorkbook.ActiveSheet
c = .Cells(1, 1).SpecialCells(xlCellTypeLastCell).Column
For j = 1 To c
If Not Columns(j).Find(what:="*", after:=Columns(j).Cells(1, 1), LookIn:=xlValues) Is Nothing And Columns(j).Find(what:="test", after:=Columns(j).Cells(1, 1), LookIn:=xlValues) Is Nothing Then
r = Columns(j).Find(what:="*", after:=Columns(j).Cells(1, 1), LookIn:=xlValues).Row
Set rng = .Range(.Cells(r, j), .Cells(.Rows.Count, j).End(xlUp))
rarr = rng.Value
For i = r To UBound(rarr, 1)
Cells(i, j + 1).Value = "test " & (i - r) + 1
Next i
End If
Next j
End With
End Sub
我是很新,在我的代碼使用數組,所以我也不會感到驚訝,如果我的方法是關閉的。這就是說,我很難過,UBound(rarr,1)
不返回最後一個單元格rng
= .Range(.Cells(r, j), .Cells(.Rows.Count, j).End(xlUp))
。
任何幫助或建議表示讚賞。
感謝
這正是我試圖做。感謝您的詳細解釋 –