Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


59630 / 76738 ←次へ | 前へ→

【21793】Re:採番
回答  bykin  - 05/1/30(日) 18:34 -

引用なし
パスワード
   こんにちわ。

ループで行の挿入や削除をやるときは、下からやったほうが簡単やと思うんやけど・・・
で、数式入れる方法で一案考えてみました。
結果は新しいシートを追加してそこに書き出してます。

Sub test()
  Dim i As Long
  
  Application.ScreenUpdating = False
  ActiveSheet.Copy ActiveSheet
  For i = Range("A65536").End(xlUp).Row To 2 Step -1
    If Cells(i, 2).Value > 1 Then
      Rows(i).Copy
      Range(Rows(i + 1), Rows(i + Cells(i, 2).Value - 1)).Insert
    End If
  Next
  Range("C2").Value = 1
  With Range(Cells(3, 3), Range("A65536").End(xlUp).Offset(0, 2))
    .Formula = "=IF(A3=A2,C2+1,1)"
    .Value = .Value
  End With
  Range("A1:B1").AutoFill Range("A1:C1")
  Application.ScreenUpdating = True
End Sub

C1の項目名がA1:B1のオートフィルでは具合悪いんやったら、
直接指定してください。

試してみてな。
ほな。

0 hits

【21786】採番 Y 05/1/30(日) 15:37 質問
【21787】Re:採番 kobasan 05/1/30(日) 16:06 回答
【21788】Re:採番 かみちゃん 05/1/30(日) 16:10 回答
【21789】Re:採番 Y 05/1/30(日) 16:28 質問
【21790】Re:採番 かみちゃん 05/1/30(日) 16:45 回答
【21791】Re:採番 Y 05/1/30(日) 17:11 質問
【21792】Re:採番 かみちゃん 05/1/30(日) 17:24 回答
【21793】Re:採番 bykin 05/1/30(日) 18:34 回答
【21794】Re:採番 Y 05/1/30(日) 20:04 お礼
【21795】Re:採番 かみちゃん 05/1/30(日) 20:12 回答

59630 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free