第30回.総合練習問題3解答
マクロVBA練習問題の解答ページです。
マクロVBA練習問題
行・列の削除・挿入の問題です。


偶数行を削除し、1行目に空行、A列に空列を挿入し、
右側の表にして下さい。
シンキングタイム
シンキングタイム終了
マクロVBA練習問題解答
※.Valueは適宜省略しています。
Sub 練習1()
Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If i Mod 2 = 0 Then
Rows(i).Delete
End If
Next i
Rows(1).Insert
Columns(1).Insert
End Sub
行削除を、下から行うのがコツです。
For...に、Step -1 を指定します。
Mod 2 = 0
これで判定できます。
もちろん、奇数行なら、= 1 になります。
こんな感じになります。
Sub 練習2()
Dim i As Long
i = 2
Do While Cells(i, 1) <>
""
Rows(i).Delete
i = i +
1
Loop
Rows(1).Insert
Columns(1).Insert
End
Sub
最終行が、行削除で常に変わってしまうので、For~NextではなくDo~Loopで処理しています。
しかし、1行置き(2開始で偶数行なので1行飛ばし)なのに、iのカウントアップが1づつである事は少し理解しづらいです。
つまり行を削除した時点で、次行以降が上にシフトされるので、
そこをイメージして、マクロ作成できるかと言う事になりますが・・・
わざわざ、そんな難しい事をする意味はありません。
同じテーマ「マクロVBA練習問題解答」の記事
第19回.総合練習問題1解答
第26回.総合練習問題2解答
第30回.総合練習問題3解答
第36回.総合練習問題4解答
第43回.総合練習問題5解答
第50回.総合練習問題6解答
第67回.総合練習問題7解答
第78回.総合練習問題8解答
第81回.総合練習問題9解答
第86回.総合練習問題10解答
練習問題1(For~Nextの練習)解答
新着記事NEW ・・・新着記事一覧を見る
イータ縮小ラムダ(eta reduced lambda)|エクセル入門(2023-11-20)
PIVOTBY関数(縦軸と横軸でグループ化して集計)|エクセル入門(2023-11-19)
GROUPBY関数(縦軸でグループ化して集計)|エクセル入門(2023-11-18)
PY関数(Pythonコードをセル内で実行)|エクセル入門(2023-11-17)
画像「セルに配置」のVBAについて(365の新機能)|VBA技術解説(2023-11-13)
スピルのゴーストの範囲を選択するVBA|ツイッター出題回答 (2023-10-31)
エクセル試験3:月間の所定労働時間|エクセル練習問題(2023-10-04)
エクセル試験2:所得税の計算|エクセル練習問題(2023-10-04)
エクセル試験1:曜日別の平均客単価|エクセル練習問題(2023-10-04)
列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.条件分岐(IF)|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
- ホーム
- マクロVBA入門編
- マクロVBA練習問題解答
- 総合練習問題3解答
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。