メシのタネ

めしのたねになるIT情報配信サイト


【Excel2013 VBA】マクロを作ってみる

, ,

  1. Windows
  2. Excel
  3. 【Excel2013 VBA】マクロを作ってみる

PP_gear-a_12

あんまりExcelに細かい事を求めないのであれば
特にマクロなんて使う必要がないのですけど、
ある期間からある期間のデータをなんかしたいときとか
ループしないといけないとかなると、
Excelの関数だけで手が回らなくなるので
マクロ使えたら便利ですよね。

たまに自分は使ったりするので、
もし勉強したい人が居たらと思って書きました。

とりあえず入門してみましょう。

セルに名前をつける

別につけたくなきゃつけなくても良いんですけど、
付けといた方が楽になるので私はつけます。

excelnomacro1

名前の付け方はこんな感じです。
黒丸したとこを表示したいセルでクリックすると、
文字が入力できるので適当に名前をつけます。

開発タブを開く

あんまりエクセル触ってない人は相手にしたくないタブですが、
今回は思い切って開きましょう。

そうすると一番右にVisual Basicってとこがあるので
それをクリックします。

VBAが立ち上がります。画面左側に、プロジェクトの
エクスプローラ的なのがあるので、それのExcelの形したのクリックします。

excelnomacro2

名前付けたセルに文字を表示

多分まだ真っ白だと思うので
真っ白なとこに、適当な文字を表示させるプログラムを書きます。


Sub moji()

Dim moji As String

moji = "hello"
Range("さっきつけた名前").Value = moji

End Sub

これを書いてから開発タブのマクロを選んで実行を押します。

excelnomacro3

文字が表示されました!

指定日から今日まで何ヶ月を調べる

このままだと前回同様、味も素っ気もないので、とりあえずサンプルとして
日付の役に立ちそうなサンプル書いておきます。


Sub d()

Dim start As Date
Dim goal As Date
Dim differents As Integer

start = "2014,4,1"
goal = Date

differents = DateDiff("M", start, goal)

Range("mogerinko").Value = differents

End Sub

こうやって書くと4月1日から今日まで何ヶ月か図るのが簡単です。
この差をループさせたりすれば指定期間の間に計算が出来てとても便利ですよね。

デバッグの方法

F8を押すと1行1行プログラムを追っていきます。
debug.print = 変数
って書いておくてイミディエイトウィンドウに変数の中身が表示されるので
デバッグが楽です。イミディエイトウィンドウの出し方は、Ctrl+Gで出せます。
F5を押すと結果だけイミディエイトウィンドウに出力します。

excelnomacro4

とりあえずこれがF5を押した例です。

構文とか型チェックとか普段使う奴は大体あるので、
気が向いたら何か作ってみてはいかがでしょうか。

偶数の計算が(i mod 2)=0とか除算余りの使い方が知らない感じだったり
if 式 thenだったり、加算代入が無かったり?しますけど、他のMS系の奴に比べて
自分が何をどうしてるのか分かった上でコード書かせてくれるので随分とっつきやすいと思います。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

若い頃、「仕事中にハマったこと」や「誰かに共有したい技術的な気づき」をアウトプットしたくてブログを始めましたが、勢い任せでよく分からない記事を大量生産し、あえなく飽きて終了。

改めて今、キャリア15年分の経験や知識が、これからITエンジニアを目指す方や、同じような課題で悩んでいる現役エンジニアの「メシのタネ」になるような記事を残したいと思っています。
※過去の記事は見ると精神が崩壊するため、そっとしておいてください。

🛠 経歴という名の珍道中:
文系Fラン → 広告営業 → Web営業 → 通信営業 → Web進行 → 出版 → Web媒体運用 → ソフトウェアハウス → SES → フリーランス

専門教育も受けず、転職歴も多数。履歴書はまるで時系列の事故記録のようですが、試行錯誤を重ね、なんとかエンジニアとして食べています。

このブログでは、そんな「履歴書クラッシャー型エンジニア」が送る、
名古屋一敷居の低い、実務に役立つ技術ブログを目指します。

Laravel
Laravel Eloquent sync 系メソッド完全攻略 — 安全な同期のための 5 大リスクと回避策New!!
Laravel
belongsToMany 実戦ガイド ── “withPivot”で追加カラムを守る 中間テーブル設計チェックリストNew!!
PHP
魔王と行く! / Interface / Polymorphism / Ontology 深淵ガイドNew!!
Laravel
Laravel 12、「コード 1 行も書き換えず未来へ」──静かな革命の手順書New!!
Laravel
LaravelのMiddlewareって意味あるの?仕組み・使いどころ・やらかしまで整理してみた
Laravel
ServiceProviderって何してるの?DIの背後で動いてるやつの正体