|
かみちゃんさんへ
大変ありがとうございました!!!
できました。
今後のために、N行目から始める場合は、
どこを修正すればよろしいのでしょうか?
ご教示お願い申し上げます。
▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>延々と処理が終わらなくなりました・・。
>
>ご提示されたサンプルで、まずは試されましたか?
>ただし、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
|
|