VBA100本ノック 1本目:セルのコピー

一念発起して今年は、こちらで公開されている100本ノックに挑戦。
www.excel-ubara.com
素晴らしい教材を公開いただき、ありがとうございます。

上記リンク先から、問題文を転載。
f:id:Infoment:20220105222102p:plain

今回は書式も数式も、ということで ↓ をコピーする。
f:id:Infoment:20220105222356p:plain

敢えてフォント名やサイズ、セルの色を列ごとに変えている。また、
B列は数式がセットされている。

今回私が作成した解答がこちら。

Sub VBA_100Knock_001()
    Sheet1.Range("A1:C5").Copy
    Sheet2.Range("A1:C5").PasteSpecial xlPasteAll
    Application.CutCopyMode = False
End Sub

設問にあるとおり、Selectメソッドは使用禁止であるため、

  1. コピー元のシートを選択しない。
  2. コピー元の範囲を選択しない。

など、私も入門当初は多用していたSelectメソッドを使用していない。
マクロの記録で作成すると、マクロ内に残りがちなSelectメソッドで
あるため、ノック1本目でありながら初学者には難しく、同時に大変
ためになる設問だと思う。

解答を実行した結果がこちら。
f:id:Infoment:20220105223658g:plain

ちなみに、

Application.CutCopyMode = False

を忘れると、この蟻の行列みたいなのが残る。
f:id:Infoment:20220105224141g:plain

消す・消さないは、時と場合と各自のお好みで。

※冒頭リンク先の解答例および解説も、ぜひご一読ください。

参考まで。