VBA

VBAで「行の挿入・削除」やってみる

目安時間 3分
  • コピーしました

今回は、行の挿入、削除を行います。
【課題】
区分がD、No.が空欄の行を削除する。
区分がIの行の前に新規行を挿入する。
No.を上から昇順で振り直す

【VBA】

Sub InsDel()
    Dim i As Long
    Dim lp As Long
    lp = Cells(Rows.Count, 1).End(xlUp).Row - 1
    For i = lp To 2 Step -1
        Select Case Cells(i, 2)
            Case ""
                Rows(i).Delete
        End Select
        Select Case Cells(i, 1)
            Case "I"
                Rows(i).Insert
            Case "D"
                Rows(i).Delete
        End Select
    Next
    lp = Cells(Rows.Count, 1).End(xlUp).Row - 1
    For i = 2 To lp
        Cells(i, 2) = i - 1
    Next
End Sub


簡単な説明
・「Cells(Rows.Count, 1).End(xlUp).Row」は、以前説明をしたのでこちらを御覧ください
A列の最後の「E」行までの行数を取得
・「Rows(i).Delete」は、行を削除する
A列の「D」が記入されているところと、B列の空欄の行を削除する
・「Rows(i).Insert」は、行を追加する
A列の「I」が記入されているところの前に1行追加する
・「Cells(i, 2) = i - 1」のForは、前処理の行の追加削除後にNo.を振り直すループを行う
・Selectについては、前回に説明したこの記事を御覧ください。

あなたのお役に立てるなら、コピーして使用してください。

今後も勉強した内容を記載して行きますので、お役に立てるものがあれば使ってください。

VBA開発もしておりますので開発のご要望があればご連絡をください。

VBA開発依頼受付はこちらから

  • コピーしました

この記事に関連する記事一覧

この記事を書いた人

すーさん

生きるためにはお金が必要

すーさん

50歳、派遣社員。いつもいつも派遣切りにビクビクしながら生きています。50歳になった途端、次の就職先が中々見つからず、生活のため嫌な仕事でも断らず進んで行っていました。それと同時に副業も始めました。今では副業で稼ぐことができるようになったので、嫌な仕事は断ることができ、仕事がなくなっても贅沢はできませんが生活はできます。このブログは、副業を行うために学習した情報を公開しております。子供が私立の中学校に行っているので学費もかかるので持っと稼がなければ・・・ この情報が少しでもあなたにお役に立てばと思います。 お問い合わせ

コメントフォーム

名前  (必須)

メールアドレス (公開されません) (必須)

URL (空白でもOKです)

コメント

CAPTCHA


トラックバックURL: