以下のコードは機能しています。シート内のすべての列を処理し、その中のデータを 2 行目にある数値に基づいて固定長の数値に変更します。
私の問題は、そうするときに列全体を選択することです。変換したくないヘッダー行が 4 つあるため、これは問題です。
私の最初の考えは、選択範囲をオフセット/サイズ変更し、すべてのセルに変更を適用することでしたが、それを行うことがうまくいきません。
このコードを変更して、列を進むときに最初の 4 つのヘッダー行を無視できる人はいますか?
注: lastCol は、シートで最後に使用された列の番号を整数値で返すだけの別の関数です。
Sub FormatFixedNumber()
Dim i As Long
Application.ScreenUpdating = False
For i = 1 To lastCol 'replace 10 by the index of the last column of your spreadsheet
With Columns(i)
.NumberFormat = String(.Cells(2, 1), "0") 'number length is in second row
End With
Next i
Application.ScreenUpdating = True
End Sub