スライドショー

【ExcelVBA】グローバル変数を使って開発効率を上げる方法とは

VBAでグローバル変数の使い方がいまいちわからない
グローバル変数を定義する方法を知りたい
Constで定数を定義する方法についてもしりたい

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。

皆さんは、VBAでグローバル変数を使ったことがありますか?グローバル変数を使うと、色んな処理で使う値をまとめて登録しておくことができます。そこで今回は、グローバル変数とはといった基礎的なことから、

  • VBAでグローバル変数を使う方法
  • グローバル変数を使いこなすためのテクニック

といった応用的な方法まで、徹底的に解説します!

VBAのグローバル変数

グローバル変数とは

はじめに、グローバル変数について簡単に解説します。グローバル変数とは、どこからでもアクセスできる変数のことです。複数のSub・Functionをまたいで同じ変数を使うことができるので、よく使う変数はグローバル変数にしておくのがおすすめです!

グローバル変数を定義する方法

標準モジュールにPublicをつけて変数宣言するだけで、簡単にグローバル変数を作ることができます。

Public Dim 変数名 as 型名 '変数のグローバル変数
Public Const 定数名 = 値  '定数のグローバル変数

Constは、定数の意味で、Constをつけた変数・定数を後から値が変更できなくなります。

シート名、設定シートの情報、消費税率、部署名、会社名など、よく使う変数はグローバル変数にしておくのがおすすめです。

グローバル変数を使いこなすためのテクニック

ただ、グローバル変数はどの処理からでも呼び出して書き換えることができてしまうため、どこで書き換えられたかわからなくなってしまうことがあります。

そのため、値書き換えができない定数のみで使うのがおすすめです!定数のみで使ったサンプルコード:

'シート名
Public Const glbWsNameRegist = "新規登録"
Public Const glbWsNameSeachResult = "検索結果一覧"
Public Const glbWsNameSummaryData = "サマリーデータ"
 
'設定シートのセル場所一覧
Public Const glbCellDeptCode = "B2"    '部署コード
Public Const glbCellDeptName = "C2"    '部署名称
Public Const glbCellTaxRate = "D2"     '消費税率
Public Const glbCellOutFolPath = "E2"  'ファイル出力先フォルダパス

定数名の先頭にglbを付けていますが、開発時に変数を見つけやすくするためにつけています。VBAでは途中まで文字を打ってから「Ctrl + スペース」を押すことで入力候補を出すことができるので、glbまたはpubなどわかりやすい名称を先頭につけておくのがおすすめです!

画像:よく使う変数の一覧

よく使う変数をまとめておくことで、同じコードを複数の処理で書く必要がなくなるため、速く正確に書くことができるようになります。また、修正時も「よく使う定数一覧」を修正するだけなので、メンテナンスも楽ですね。

補足:変数・定数について理解を深めたい方へ

今回は変数、定数についての基礎的な使い方の説明は省いています。以下記事で詳しく解説しているので、理解を深めたい方は見てみてくださいね!

【VBA入門】変数をDimで宣言し、 Asでデータ型を定義する方法
更新日 : 2019年10月1日
【ExcelVBA入門】定数を使ってミスを減らしつつ開発する方法とは
更新日 : 2018年8月20日

まとめ

今回は、VBAでグローバル変数を使う方法について解説しました。Publicを付けたグローバル変数 + Constを使った定数を標準モジュールでまとめておくだけで、開発がしやすく綺麗なコードを書くことができます。

メンテナンス性も上がるので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説