私は2つのことを達成しようとしています。1) シーケンシャル パターンに基づいて行 (および A1 の数値) を挿入します。2) 挿入された行の残りの列に "NA" の文字列値を挿入します。以下のスクリプトを使用しています。パート 1 は機能しますが、パート 2 では、ワークシート内で使用されているものではなく、すべての列に「NA」を入れています。データのサンプルを次に示します。
2001 A A A
2002 A A A
2004 A A A
2005 A A A
コードは、列 B:D に「NA」を付けて 2003 AFTER 2002 を挿入する必要があります。
現在使用しているスクリプトは次のとおりです。
Sub test()
Dim i As Long, x, r, cell, CRange As Range
Dim InputValue As String
InputValue = "NA"
'test for sequential number
For i = Range("a" & Rows.Count).End(xlUp).Row To 2 Step -1
x = Cells(i, 1) - Cells(i - 1, 1)
If x > 1 Then
Rows(i).Resize(x - 1).Insert
End If
Next
'insert row if not sequential
For Each r In Range("a1", Range("a" & Rows.Count) _
.End(xlUp)).SpecialCells(4).Areas
With r.Cells(1).Offset(-1)
.AutoFill .Resize(r.Rows.Count + 1), 2
End With
'Test for empty cell. If empty, fill cell with value given
For Each cell In Selection
If IsEmpty(cell) Then
cell.Value = InputValue
End If
Next
Next
End Sub