2008年12月25日木曜日

excel 空白行を指定数挿入

家のPCでまたNTLDR is missingが出た・・・
それはともかく、accessでレコードを任意の数追加するフォームを作っていたら
レコードに振っている番号を「オートナンバー」にする必要が出てきた。
オートナンバーだと消した物まで数として残してしまうのでDmax等を使って工夫していたのだが、
ここに来てそれがあだとなった。仕方なくエクセルを使って「数値」→「オートナンバー」への入れ替え作業開始。

ちょうど他の方が作成したマクロが使用できた。
それにしても何でこのブログはコピペ時に改行を反映してくれないのだろう。

Sub my_insert()
Dim oCurrentRow As Range '数値を読み取る行
Dim oNextRow As Range '次の行(この行の上に数値分の行を挿入)
Dim lInsertRows As Long '挿入する行数
Dim i As Long 'ループ変数
'初期値の設定
Set oCurrentRow = Rows(1)
Set oNextRow = Rows(2)
'A列の値がなくなるまでループ
Do Until oCurrentRow.Cells(1.1).Value = ""
'挿入する行数を読み取る。
lInsertRows = oCurrentRow.Cells(1, 1).Value
'挿入がある場合、行数分だけ挿入を繰り返す。
If lInsertRows > 0 Then
For i = 1 To lInsertRows
oNextRow.Insert Shift:=xlDown
Next
End If
'処理する行を設定しなおす。
Set oCurrentRow = oNextRow
Set oNextRow = oCurrentRow.Offset(1, 0)
Loop
End Sub

0 件のコメント:

S氏の誕生日(月)特典 2024年版もやはり・・・

 S氏が昨年に続き今年も誕生日特典のポストを投稿。 昨年より大幅に情報量が増し、その点は有意義であるものの、ちょっと情報がおかしいのではないか?というものも散見されるので気がついたものを記載してみる。 ・プロント プレモルジョッキ🍺無料 →ナスとベーコンのパスタ500円もあるよ...