教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

サイトマップ

f:id:m_kbou:20191210195637p:plain

 

基本操作

ExcelVBAって何?

Excelで開発タブを表示する方法

マクロ/VBAを書く(記述する)方法

マクロ/VBAをボタンに割り当てる方法

ExcelVBAマクロを有効化する方法

プロジージャ(Sub・Function)の使い方

VBAでのコメント(コメントアウト)の書き方

変数って何ですか?定義や宣言の方法

MsgBox(メッセージボックス)の使い方(表示方法)

マクロやVBAでセル(Cells/Range)を指定する方法

デバッグ及びコンパイルする方法

明示的な変数の宣言方法

 

構文

IF文(条件分岐)の使い方

Select Case文(条件分岐)の使い方

For~Next文(繰り返し処理)の使い方

Do~Loop文(繰り返し処理)の使い方

With文(オブジェクト名の記述省略)の使い方

GoTo文(処理を途中でスキップ)の使い方

Exit文(処理の途中で終了)の使い方

Call文(他のプロシージャ呼び出し)の使い方

 

ブック操作

ブックを開いたり(Open)・閉じたり(Close)する方法

ファイル名を取得(Name)する方法

Excelウィンドウを全画面表示(DisplayFullScreen)する方法

Excelウィンドウの表示サイズを設定(WindowState)する方法

Excelブックの表示サイズを指定(Height・Width)する方法

Excelブックを拡大/縮小表示(Zoom)する方法

Excelブックを整列(Arrange)させる方法

ブックを新規作成(Add)する方法

ブックをアクティブ(Activate)にする方法

ブックを上書き保存(Save)する方法

ブックの内容が変更されたかどうかを判断(Saved)する方法

ブック名を指定して保存(SaveAs)する方法

Excelを終了(Quit)させる方法

ブックを保護(Protect)又は保護解除(UnProtect)する方法

アクティブなブックの名前を取得(Name)する方法

アクティブなブックのパスを取得(Path)する方法

開いているブックの数を取得(Count)する方法

ブックのイベントプロシージャを作成する方法

ブックがアクティブになった時に発生するイベントプロシージャの作成方法

ブックが非アクティブになった時に発生するイベントプロシージャの作成方法

ブックを閉じる時に発生するイベントプロシージャの作成方法

ブックを印刷する時に発生するイベントプロシージャの作成方法

ブックに新しいシートを追加した時に発生するイベントプロシージャの作成方法

ブックを開いた時に発生するイベントプロシージャの作成方法

ブックを保存する時に発生するイベントプロシージャの作成方法

ブック内シートがアクティブになった時に発生するイベントプロシージャの作成方法

ブック内シートがダブルクリックされた時に発生するイベントプロシージャの作成方法

ブック内シートが右クリックされた時に発生するイベントプロシージャの作成方法

ブック内シートが再計算された時に発生するイベントプロシージャの作成方法

ブック内シートが変更された時に発生するイベントプロシージャの作成方法

 

シート操作

シートを選択(Select)にする方法

複数のシートを選択(Select)にする方法

ブック内の全てのシートを選択(Select)する方法

シートをアクティブ(Activate)にする方法

新規シートを追加作成(Add)する方法

シートを非表示/表示(Visible)にする方法

シート見出しを非表示/表示(DisplayWorkbookTabs)にする方法

シートを削除(Delete)する方法

開いているブック内のシートの数を取得(Count)する方法

シートを保護(Protect)又は保護解除(UnProtect)する方法

シートのイベントプロシージャを作成する方法

シートがアクティブになった時に発生するイベントプロシージャの作成方法

シートが非アクティブになった時に発生するイベントプロシージャの作成方法

シートで選択範囲が変更された時に発生するイベントプロシージャの作成方法

シートがダブルクリックされた時に発生するイベントプロシージャの作成方法

シートが右クリックされた時に発生するイベントプロシージャの作成方法

シートが再計算された時に発生するイベントプロシージャの作成方法

シートが変更された時に発生するイベントプロシージャの作成方法

 

セル操作

セル範囲を選択(Select)する方法

アクティブセルのアドレスを取得(Row・Column)する方法

選択したセル範囲のデータをクリア(ClearContents)する方法

セル範囲をコピー(Copy)する方法

セル範囲を切り取る(Cut)する方法

選択した範囲のセルを結合(MergeCells)する方法

セル範囲に名前を付ける(Name)方法

セル範囲内を並べ替え(Sort)する方法

セルのフォントサイズ(Font.Size)を変更する方法

セルのフォント名(Font.Name)を変更する方法

セルのフォントスタイル(Font.FontStyle)を変更する方法

セルに数式を入力(Formula)する方法

セルに関数を使用した数式を入力(Formula)する方法

セルのロックを設定又は設定解除(Locked)する方法

セル幅(列幅)を最適化(AutoFit)する方法

入力されているデータをセル幅に合わせて折り返す(WrapText)方法

文字列幅をセル幅に合わせる(ShrinkToFit)方法

行を表示/非表示(Hidden)にする方法

列を表示/非表示(Hidden)にする方法

選択した行または列を削除(Delete)する方法

行または列を挿入(Insert)する方法

オートフィルタの設定または解除する(AutoFilter)方法

入力されているレコード件数を数える(Rows.Count)方法

データが入力されている範囲の最終行/最終列を調べる方法

罫線を引く方法

色々なスタイルの罫線を引く方法

罫線の太さを変更する方法

 

印刷

シートを印刷する方法

ページを指定して印刷する方法

印刷部数を指定して印刷する方法

印刷プレビューで印刷状態を確認する方法

複数のセル範囲を部単位で印刷する方法

水平方向/垂直方向に改ページを挿入する方法

プリンタを選択するダイアログボックスを表示する方法

印刷方向を設定する方法

印刷する用紙サイズを設定する方法

印刷の倍率を設定する方法

ページの余白を設定する方法

印刷位置をページの中央に設定する方法

印刷範囲を1ページに収める方法

印刷時のページ先頭番号を設定する方法

 

フォーム&コントロール

(フォーム)フォームを作成する方法

(フォーム)フォームプロパティの使い方

(フォーム)フォームを表示する方法

(フォーム)フォームを閉じる方法

(フォーム)フォームに各コントロールを配置して画面を作成する方法

(フォーム)フォームを表示する直前に処理を実行する方法

(フォーム)フォームがアクティブになった時に処理を実行する方法

(フォーム)フォームが非アクティブになった時に処理を実行する方法

(フォーム)フォームがクリックされた時に処理を実行する方法

(フォーム)フォームがダブルクリックされた時に処理を実行する方法

(フォーム)フォームを閉じる直前に処理を実行する方法

(ラベル)フォームにラベルを配置する方法

(ラベル)ラベルプロパティの使い方

(テキストボックス)フォームにテキストボックスを配置する方法

(テキストボックス)テキストボックスプロパティの使い方

(コンボボックス)フォームにコンボボックスを配置する方法

(コンボボックス)コンボボックスプロパティの使い方

(リストボックス)フォームにリストボックスを配置する方法

(リストボックス)リストボックスプロパティの使い方

(チェックボックス)フォームにチェックボックスを配置する方法

(チェックボックス)チェックボックスプロパティの使い方

(オプションボタン)フォームにオプションボタンを配置する方法

(オプションボタン)オプションボタンプロパティの使い方

(トグルボタン)フォームにトグルボタンを配置する方法

(トグルボタン)トグルボタンプロパティの使い方

(フレーム)フォームにフレームを配置する方法

(フレーム)フレームプロパティの使い方

(コマンドボタン)フォームにコマンドボタンを配置する方法

(コマンドボタン)コマンドボタンプロパティの使い方

(コマンドボタン)クリックした時に実行されるプロシージャを作成する方法

(タブストリップ)フォームにタブストリップを配置する方法

(タブストリップ)タブストリッププロパティの使い方

(マルチページ)フォームにマルチページを配置する方法

(マルチページ)マルチページプロパティの使い方

(スクロールバー)フォームにスクロールバーを配置する方法

(スクロールバー)スクロールバープロパティの使い方

(スピンボタン)フォームにスピンボタンを配置する方法

(スピンボタン)スピンボタンプロパティの使い方

(イメージ)フォームにイメージを配置する方法

(イメージ)イメージプロパティの使い方

(ListView)ListViewコントロールの組込方法 

(ListView)フォームにListViewを配置する方法

 

関数

Trim関数の使い方(文字列前後の空白を削除)

Left関数の使い方(文字列の先頭から指定文字数分だけを抜き出す)

Right関数の使い方(文字列の右端から指定文字数分だけを抜き出す)

Mid関数の使い方(文字列の指定文字から指定文字数分だけを抜き出す)

Instr関数の使い方(文字列の中から指定の文字位置を特定する)

DateAdd関数の使い方(指定された日数を加算・減算する)

DateDiff関数の使い方(指定日までの日数を取得する)

DatePart関数の使い方①(日付の指定した部分を抽出する)

DatePart関数の使い方②(本日が年初から数えて何週目にあたるかを調べる)

DatePart関数の使い方③(年間通算日を調べる)

DateSerial関数の使い方(今月末の日付を調べる)

DateValue関数の使い方(文字列日付を日付に変換する)

Now関数やTime関数の使い方(現在の日時と時刻を表示する)

Hour関数・Minute関数・Second関数の使い方(時刻から時・分・秒を取り出す)

Year関数・Month関数・Day関数の使い方(日付から年・月・日を取り出す)

TimeSerial関数の使い方(1分後の時間を調べる)

TimeValue関数の使い方(文字列時刻を時刻に変換する)

Timer関数の使い方(経過秒数の計測)

WeekDay関数の使い方(指定した日付から曜日を判定する)

IsNumeric関数の使い方(数値として扱えるかどうかを調べる)

IsDate関数の使い方(日付や時刻として扱えるかどうかを調べる)

IsArray関数の使い方(配列かどうかを調べる)

Join関数の使い方(配列の要素を結合させる)

Format関数の使い方(データの表示書式を変換する)

StrConv関数の使い方(文字列の形式を変換する)

LCase関数の使い方(アルファベットの大文字を小文字に変換する)

UCase関数の使い方(アルファベットの小文字を大文字に変換する)

Replace関数の使い方(文字列中にある特定文字を別文字に変換する)

VarType関数の使い方(データ型を調べて結果を数値で返す)

CStr関数の使い方(数値を文字列に変換する)

Val関数の使い方(文字列を数値に変換する)

CDate関数の使い方(文字列を日付型にデータ変換する)

Int関数の使い方(小数点以下を切り捨てる)

Fix関数の使い方(小数点以下を切り捨てる)

Application.WorksheetFunction.Roundの使い方(数値を四捨五入する)

Len関数の使い方(文字列の文字数を調べる)

InputBox関数の使い方(ダイアログボックス内のテキストボックスに入力された文字列を返す)

String関数の使い方(同じ文字を繰り返す横棒グラフの作成方)

StrComp関数の使い方(2つの文字列を比較する)

IsNull関数の使い方(変数に入力された値がNullかどうかを調べる)

Rnd関数の使い方(乱数を発生させる)

 

演算子

足し算をする方法

引き算をする方法

掛け算をする方法

割り算をする方法

文字列を結合する方法

論理演算子の使い方

比較演算子の使い方

割り算した結果の余りを求める(Mod)の使い方

オブジェクトを比較する(Is)の使い方

 

その他の操作

処理中の画面ちらつきを止める(ScreenUpdating)方法

ステータスバーにメッセージを表示(Application.StatusBar)方法

警告メッセージを非表示にする(Application.DisplayAlerts)方法

他のアプリケーションを起動する(Shell)方法

マウスポインタの形状を変更する方法

Excelのバージョン情報を取得(Version)する方法

OSのバージョン情報を取得(OperatingSystem)する方法

他のアプリケーションにキーを送る(SendKeys)方法

Excelタイトルバーの名前を変更(Application.Caption)する方法

マウスのホイールをズーム機能に設定(RollZoom)する方法

 

Windows API

WindowsAPIって何?

ログイン名を取得(GetUserName)する方法

コンピュータ名を取得(GetComputerName)する方法

デスクトップの幅と高さを取得(GetSystemMetrics)する方法

Windowsが起動している時間を取得(GetTickCount)する方法

Windowsディレクトリのパスを取得(GetWindowsDirectory)する方法

音声ファイルを再生(sndPlaySound)する方法

共有フォルダへ接続(WNetAddConnection2)する方法

共有フォルダを切断(WNetCancelConnection2)する方法

 

外部アプリケーション連携

(Access)AccessDBの作り方

(Access)Accessテーブルの作り方

(Access連携)Accessとの連携をするための事前準備

(Access連携)Accessデータベースに接続する及び切断する方法

(Access連携)Accessテーブル(レコード)に接続する及び切断する方法

(Access連携)Accessテーブルデータを取り込む方法

(Access連携)Accessテーブルデータを検索する方法

 

プログラミング(サンプル)

(関数1)Trim関数のプログラミング例

(関数2)Left関数のプログラミング例

(関数3)Mid関数のプログラミング例

(関数4)Right関数のプログラミング例

(関数5)InStr関数のプログラミング例

(関数6)DateAdd関数のプログラミング例

(関数7)DateDiff関数のプログラミング例

(関数8)DatePart関数のプログラミング例

(関数9)DateSerial関数のプログラミング例

(関数10)DateValue関数のプログラミング例

(関数11)Now関数のプログラミング例

(関数12)Time関数のプログラミング例

(関数13)Hour関数のプログラミング例

(関数14)Minute関数のプログラミング例

(関数15)Second関数のプログラミング例

(関数16)Year関数のプログラミング例

(関数17)Month関数のプログラミング例

(関数18)Day関数のプログラミング例

(関数19)TimeSerial関数のプログラミング例

(関数20)TimeValue関数のプログラミング例

(関数21)Timer関数のプログラミング例

(関数22)WeekDay関数のプログラミング例

(関数23)IsNumeric関数のプログラミング例

(関数24)IsDate関数のプログラミング例

(関数25)IsArray関数のプログラミング例

(関数26)Join関数のプログラミング例

(関数27)Format関数のプログラミング例

(関数28)StrConv関数のプログラミング例

(関数29)LCase関数のプログラミング例

(関数30)UCase関数のプログラミング例

(関数31)Replace関数のプログラミング例

(関数32)VarType関数のプログラミング例

(関数33)CStr関数のプログラミング例

(関数34)Val関数のプログラミング例

(関数35)CDate関数のプログラミング例

(関数36)Int関数のプログラミング例

(関数37)Fix関数のプログラミング例

(関数38)Application.WorksheetFunction.Round関数のプログラミング例

(関数39)Len関数のプログラミング例

(関数40)InputBox関数のプログラミング例

(関数41)String関数のプログラミング例

(関数42)StrComp関数のプログラミング例

(関数43)IsNull関数のプログラミング例

(関数44)Rnd関数のプログラミング例

(転記1)データを同一シート内に転記する方法(単純転記)

(転記2)データを同一シート内に転記する方法(For~Next文転記)

(転記3)データを同一シート内に転記する方法(Do~Loop文転記)

(転記4)データを別シートに転記する方法(単純転記)

(転記5)データを別シートに転記する方法(For~Next文転記)

(転記6)データを別シートに転記する方法(Do~Loop文転記)

(転記7)データを別ブックに転記する方法(単純転記)

(転記8)データを別ブックに転記する方法(For~Next文転記)

(転記9)データを別ブックに転記する方法(Do~Loop文転記)

(条件判断1)IF文による単純判断

(条件判断2)IF文による複数判断

(条件判断3)IF文とFor~Next文による単純判断

(条件判断4)IF文とFor~Next文による複数判断

(条件判断5)IF文とDo~Loop文による単純判断

(条件判断6)IF文とDo~Loop文による複数判断

(条件判断7)Select文による単純判断 

(条件判断8)Select文による複数判断

(条件判断9)Select文とFor~Next文による単純判断

(条件判断10)Select文とFor~Next文による複数判断

(条件判断11)Select文とDo~Loop文による単純判断

(条件判断12)Select文とDo~Loop文による複数判断

(クリア1)セル指定によるクリア処理(単純クリア)

(クリア2)セル範囲指定によるクリア処理(セル値の直接指定範囲クリア)

(クリア3)セル範囲指定によるクリア処理(変数を使用したセル指定範囲クリア)

(クリア4)条件によるクリア処理(IF文によるクリア)

(クリア5)ループによるクリア処理(IF文とFor~Next文によるクリア)

(クリア6)ループによるクリア処理(IF文とDo~Loop文によるクリア)

(クリア7)条件によるクリア処理(Select文によるクリア)

(クリア8)ループによるクリア処理(Select文とFor~Next文によるクリア)

(クリア9)ループによるクリア処理(Select文とDo~Loop文によるクリア)

(計算1)指定したセルを足し算(単純計算)

(計算2)指定したセルを引き算(単純計算)

(計算3)指定したセルを掛け算(単純計算)

(計算4)指定したセルを割り算(単純計算)

(計算5)条件に合ったセルを計算(IF文による条件計算)

(計算6)条件に合ったセルを計算(Select文による条件計算)

(計算7)ループによる計算(For~Next文による計算)

(計算8)ループによる計算(Do~Loop文による計算)

(計算9)ループによる条件判断での計算(IF文とFor~Next文による計算)

(計算10)ループによる条件判断での計算(IF文とDo~Loop文による計算)

(計算11)ループによる条件判断での計算(Select文とFor~Next文による計算)

(計算12)ループによる条件判断での計算(Select文とDo~Loop文による計算)

(並べ替え1)昇順並べ替え(ソートキーが1つの場合)

(並べ替え2)昇順並べ替え(ソートキーが2つの場合)

(並べ替え3)昇順並べ替え(ソートキーが3つの場合)

(並べ替え4)降順並べ替え(ソートキーが1つの場合)

(並べ替え5)降順並べ替え(ソートキーが2つの場合)

(並べ替え6)降順並べ替え(ソートキーが3つの場合)

(並べ替え7)昇順・降順混在並べ替え

(マッチング1)IF文とFor~Next文の組み合わせによるマッチング

(マッチング2)IF文とDo~Loop文の組み合わせによるマッチング

(マッチング3)Select文とFor~Next文の組み合わせによるマッチング

(マッチング4)Select文とDo~Loop文の組み合わせによるマッチング

 

ツール(サンプル)

顧客情報の管理を目的としたツール(顧客情報管理ツール)

在庫管理を目的としたツール(在庫管理ツール)

ひらがなをカタカナに変換するツール(ひらがなカタカナ変換ツール)

カタカナをひらがなに変換するツール(カタカナひらがな変換ツール)

全角文字列を半角文字列に変換するツール(全角半角変換ツール)

半角文字列を全角文字列に変換するツール(半角全角変換ツール)

小文字を大文字に変換するツール(アルファベット小文字大文字変換ツール)

大文字を小文字に変換するツール(アルファベット大文字小文字変換ツール)

FTPによるファイルを送信するツール(FTPファイル送信ツール)

FTPによるファイルを受信するツール(FTPファイル受信ツール)

使用プリンタポートを取得するツール(プリンタポート取得ツール)

現在ログインしているユーザ名を取得するツール(ログインID取得ツール)

同一列内ダブリ文字をチェックするツール(ダブリデータチェックツール)

文字列前後にあるスペースを削除するツール(文字列前後スペース削除ツール)

現在使用しているIEバージョンを取得するツール(IEバージョン取得ツール)

時間計測ができるデモツールを紹介(ストップウォッチデモツール)

指定された時間で処理が自動実行されるデモツールを紹介(信号機デモツール)

Excelデータのマッチングを目的としたツールを紹介(マッチングツール)

データの転記作業を簡素化するツールを紹介(転記作業簡素化ツール)

フォルダを作成するツールを紹介(フォルダ作成ツール)

ファイルを一覧形式で取得するツールを紹介(登録ファイル一覧取得ツール)

データのバックアップをサポートするツール(バックアップツール)

バーコードラベルを簡易的に作成できるツール(バーコード作成支援ツール)

簡易的に線材使用量を予測できるツール(線材使用量算出ツール)

荷札の作成・印刷を目的としたツール(荷札作成ツール)

Outlookを使用したメールを送信するツール(Outlookメール送信ツール)

入退室状況を簡易的に管理できるツール(入退室管理ツール)

クイズ形式で問題を出題できるツール(問題出題ツール)

病院食を順番で試食する当番表を自動作成するツール(検食表作成ツール)

作業の進度状況を取得できるツール(作業実績収集ツール)

納品書を簡易的に作成できるツール(納品書作成ツール)

見積書を簡易的に作成できるツール(見積書作成支援ツール)

ラベル作成を目的としたツール(ラベル管理ツール)