Excel VBA質問箱 IV

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

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


59631 / 76738 ←次へ | 前へ→

【21792】Re:採番
回答  かみちゃん  - 05/1/30(日) 17:24 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>延々と処理が終わらなくなりました・・。

ご提示されたサンプルで、まずは試されましたか?
ただし、No2の値に1が入ると、無限ループ(延々と処理が終わらないこと)になります。
従いまして、1が入っている場合を考慮すると、以下の★部分を追加してください。
なお、No2の値が0以下の場合、整数以外の数値、文字列の場合は考慮していません。

Option Explicit
Sub Macro1()
 Dim RowNo, RowNo2 As Long

 '2行目より処理を開始します。
 RowNo = 2
 Do While Cells(RowNo, 1).Value <> ""
  'No2の値が1よりも大きいとき
  If Cells(RowNo, 2).Value > 1 Then '★
   Rows(RowNo).Copy
   Rows(RowNo + 1 & ":" & RowNo + Cells(RowNo, 2) - 1).Insert Shift:=xlDown
   For RowNo2 = 1 To Cells(RowNo, 2)
    Cells(RowNo + RowNo2 - 1, 3) = RowNo2
   Next
  Else '★
   'No2の値が1以下の場合
   'ただし、0はないものとする。
   Cells(RowNo, 3) = 1 '★
  End If '★
  RowNo = RowNo + Cells(RowNo, 2)
 Loop
 Application.CutCopyMode = False
 Range("A1").Select
End Sub

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 回答

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