Teaprog.com

とあるエンジニアの日々の記録。エンジニアと関係のないようなことも書きます。

簡単なマクロでExcelの操作

f:id:tk0137:20210625202759j:plain

Excel

目次

はじめに

 

今回は定期的に行っているExcelでのVBAによるマクロ作成を簡単にやってみましたので、紹介してみようと思います。

 

マクロの基本的な作成、実行の方法は過去記事に簡単にまとめてありますので、ご参考程度にご覧ください。

 

teaprog.com

 

私自身もまだ勉強途中なので、以下に示した参考書籍を見ながらの実施になります。

 

 参考書籍 

 

 

 上で示させていただいた参考書を丸ごと写したものではございませんので、本書の内容を詳しくご覧になりたい方は実際に手にお取りください。

 

内容

 

今回VBAを記述して実行してみたマクロは、以下のようなものになります。

 

 VBAコード

Sub 数値入力()
Range("A1").Value = 100
End Sub
Sub やまびこ入力()
Range("A1").Value = "やっほ〜"
End Sub
Sub コピー()
Range("C3").Value = Range("A1").Value
End Sub
Sub 消去()
Range("A1").Value = ClearContents
End Sub

 

"数値入力"というマクロでは"A1"セルに"100"という数値を入力するコードになります。

 

"やまびこ入力"というマクロでは"A1"セルに"やっほ〜"という文字列を入力するというコードになります。

 

先ほどの数値入力のマクロとの違いは、入力したい文字列を""(ダブルクォーテーション)で囲っている事です。

 

"コピー"というマクロは"C3"セルに"A1"セルの値をコピーするというコードです。

 

"消去"というマクロは"A1"セルの値を消去するコードになります。

 

実際に入力した様子が以下のようになります。

 

 実際に行った手順

 

f:id:tk0137:20210625173341j:plain

 

上で作成したマクロを実行しやすいようにそれぞれボタンを作成します。

 

ボタンの作成の仕方は冒頭の「はじめに」で示させていただいた、過去記事に書かせていただいております。

 

f:id:tk0137:20210625173355j:plain

 

「数値入力」マクロを実行すると、無事"A1"セルに数値が入力されました。

 

f:id:tk0137:20210625173406j:plain

 

続いて、消去ボタンを押します。

 

すると、先ほどまで「100」と入力されていた"A1"セルの値が消去されました。

 

f:id:tk0137:20210625173418j:plain

 

次に「やまびこ」マクロを実行します。

 

すると、"A1"セルに「やっほ〜」と表示されました。

 

f:id:tk0137:20210625173429j:plain

 

次に"A1"セルに「やっほ〜」という文字が入力された状態で「コピー」マクロを実行します。

 

すると、"C3"セルに「やっほ〜」という文字が入力されました。

 

f:id:tk0137:20210625173441j:plain

 

基本的に今回の内容はここまでです。

 

基本的なVBAコードを記述し、実行が確認できましたので、一通りは目的は達成されました。

 

 おまけ

 

しかし、些細な疑問が残りました。

 

"A1"セルのデータを消去した状態で、「コピー」マクロを実行したらどうなるのかという事です。

 

実際に試してみました。

 

まず、「消去」マクロを実行し、"A1"セルのデータを消去します。

 

一方、ペースト先である"C3"セルには「やっほ〜」という文字が入力されています。

 

f:id:tk0137:20210625173452j:plain

 

下に示した図が、"A1"セルにデータがない状態で「コピー」マクロを実行した結果です。

 

"A1"というコピー元のデータが空白の場合、ペースト先の"C3"セルにデータが入力されていても、"C3"セルのデータが消去されてしましました。

 

f:id:tk0137:20210625173502j:plain

 

以上の結果から、コピー元のセルに何もデータがなくても異常な動作をすることはないと分かりました。

 

最後に

 

久々にVBAコードを軽く触ってみました。

 

具体的にな動作としてはセルのデータの入力、消去、コピーと言ったものになります。

 

まだ始めたばかりですので、基本的なコードばかりで内容に乏しいですが、少しづつ実用的なものにつながるような内容をかけたらと思っております。

 

ローマは1日にしてならず。

 

私が焦ってしまっているときに自分によく聞かせている言葉です。

 

継続はやはり大事なことですよね。

 

異常、簡単でしたが、最後までありがとうございました。