よねさんのWordとExcelの小部屋 なんでも掲示板

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

■13431 / 1階層)  行追加とコピー
□投稿者/ よねさん -(2020/01/15(Wed) 09:16:37)
    2020/01/15(Wed) 12:19:06 編集(管理者)
    2020/01/15(Wed) 11:45:20 編集(管理者)

    こんな感じでしょうか?
    ただし、このコードは1度だけしか実行してはいけません。
    実行するたびに 挿入&コピーが増幅しますので、ご注意ください。

    または、For i = lastRow To 2 Step -1 の部分を実行するたびに適切な値に書き換えるとかの対処が必要です。

    Sub test1()
    Dim i As Long
    Dim lastRow As Long, s_Row As Long

    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = lastRow To 2 Step -1
    If Cells(i, 4).Value > 1 Then
    s_Row = Cells(i, 4).Value - 1
    Range("A" & i + 1 & ":A" & i + s_Row).EntireRow.Insert
    Range("A" & i & ":F" & i).Copy Range("A" & i + 1 & ":F" & i + s_Row)
    End If
    Next i

    End Sub
    --------
    複数回実行したもいいように、コードを実行して挿入&コピーをしたら
    G列にコピーしたら”済“と入力するように改変しました。
    G列に"済"が入力されていないと、挿入&コピー対象となります。
    これでどうでしょう。

    Sub test1()
    Dim i As Long
    Dim lastRow As Long, s_Row As Long

    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = lastRow To 2 Step -1
    If Cells(i, 4).Value > 1 And Cells(i, 7).Value <> "済" Then
    s_Row = Cells(i, 4).Value - 1
    Range("A" & i + 1 & ":A" & i + s_Row).EntireRow.Insert
    Range("G" & i).Value = "済"
    Range("A" & i & ":G" & i).Copy Range("A" & i + 1 & ":G" & i + s_Row)
    End If
    Next i

    End Sub

記事引用 削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←行追加とコピー /sora →Re[2]: 行追加とコピー /sora
→Re[2]: 行追加とコピー /sora
 
上記関連ツリー

Nomal 行追加とコピー / sora (20/01/14(Tue) 15:43) #13430
Nomal 行追加とコピー / よねさん (20/01/15(Wed) 09:16) #13431 ←Now
│├Nomal Re[2]: 行追加とコピー / sora (20/01/17(Fri) 09:14) #13435
│└Nomal Re[2]: 行追加とコピー / sora (20/01/17(Fri) 10:02) #13437
│  ├Nomal Re[3]: 行追加とコピー / よねさん (20/01/17(Fri) 10:13) #13438
│  └Nomal Re[3]: 行追加とコピー / よねさん (20/01/17(Fri) 09:26) #13436
Nomal Re[1]: 行追加とコピー / sora (20/01/16(Thu) 11:41) #13433

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Pass/

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

- Child Tree -