オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

Excel VBA

【資格】Excel VBA スタンダードに合格。学習方法、学習時間などを紹介

先日、『Excel VBA スタンダード』の試験に合格したので、学習方法、学習時間などを紹介します。 Excel VBA スタンダードとは Excel VBA スタンダードはどんな人におすすめ? Excel VBA スタンダードの試験概要 Excel VBA スタンダードの問題数、試験時間、…

【探索アルゴリズム】二分探索法とは。Excel VBAで二分探索法を試してみる (基本情報技術者・応用情報技術者試験)

記事の目的 二分探索法とは 二分探索法の例 二分索法の探索回数、計算量 二分探索法をVBAで書いてみる 記事の目的 本記事の目的は以下の通りです。 代表的な探索アルゴリズムの一つである「二分探索法」を、Excel VBAでコードを書いて、プログラムを動かすこ…

【探索アルゴリズム】線形探索法とは。Excel VBAで線形探索法を試してみる (基本情報技術者・応用情報技術者試験)

記事の目的 線形探索法とは 線形探索法の探索回数、計算量 線形探索法をVBAで書いてみる 記事の目的 本記事の目的は以下の通りです。 代表的な探索アルゴリズムの一つである「線形探索法」を、Excel VBAでコードを書いて、プログラムを動かすことで理解を深…

【Excel VBA】再帰呼出しで最大公約数を求める(ユークリッドの互除法)

プログラムが自分自身を呼び出す処理のことを「再帰呼出し」といいます。 今回は再帰呼出しを使って、2つの数の最大公約数を求める方法を解説します。 最大公約数を求めるために、今回は『ユークリッドの互除法』と呼ばれるアルゴリズムを使います。再帰呼出…

【Excel VBA】再帰呼出しをVBAで試してみる ~再帰呼出しの動きをわかりやすく解説~

プログラムが自分自身を呼び出す処理のことを「再帰呼出し」といいます。 実際にVBAのコードで「再帰呼出し」の動きをわかりやすく解説します。 階乗を求める再帰呼出しのVBAコード 再帰呼出しの動作を画像で分かりやすく解説 再帰呼出しの動作を考える(文字…

【Excel VBA スタンダード】参照渡し(ByRef)と値渡し(ByVal)の分かりやすい使い方の解説 (試験対策)

本記事ではVBA エキスパート『Excel VBA スタンダード』の試験範囲でもある『参照渡し』と『値渡し』の使い方について、分かりやすく解説します。 参照渡しと値渡しのポイント 参照渡しと値渡渡しの動作 (呼び出し先でExcel⇒Wordに変更した場合の呼び出し元…

【Excel VBA 練習】VBAで計算ドリルを作成する

VBAの練習として、計算ドリルを作ってみました。【目次】 計算ドリルの使い方の説明 計算ドリルのVBAのコード 計算ドリルの使い方の説明 以下のような計算ドリル用のExcelのシートになっています。 ■問題の種類選択 問題の種類選択のセルE2が「加算、減算、…

【Excel VBA 練習】必要な列が重複なく存在することを確認するマクロ ~動的配列の練習~

以下の記事では、静的配列を使ってデータに必要な列が重複なく存在することを確認するマクロを作成しました。 auroralights.jp ただし、上記の記事のマクロではチェックする『必要な列』をVBAのコードに直接記載しているため、チェックする列名が変わったり…

【Excel VBA 練習】必要な列が重複なく存在することを確認するマクロ ~静的配列の練習~

【目次】 目的 必要な列があるかどうか確認するVBAのコード 考え方 ※2021/10/12:列の重複の観点が漏れていたのでコードを修正しました。以下の記事では動的配列を使って、必要な列が存在するかどうか確認するマクロを紹介しています。 auroralights.jp 目的…

【VBA 練習問題】セルの値を別シートに1列で表示する ~Do While文の練習~

VBAのツールを作ることはあるものの、しばらくコードを書いていないと忘れてしまいます。 自分の勉強のために、練習でコードを書いてみようと思います。 【目次】 練習問題 VBAのコード 考え方 練習問題 上の画像のようにSheet1のデータをSheet2にコピーする…

VBA 再入門35 Openメソッド ブックを開く

目次 Openメソッド カレントフォルダのブックを開く場合 カレントフォルダの簡単な確認方法 カレントフォルダの注意点 カレントフォルダ以外のブックを開く場合 ThisWorkbook.Pathを使ってブックを指定する場合 ※本記事の「\」は半角の「¥」のことです。 Op…

VBA 再入門34 Workbooksコレクション・Workbookオブジェクト、Worksheetsコレクション・Worksheetオブジェクト

目次 Workbooksコレクション・ Workbookオブジェクトについて 複数のブックの操作について Worksheetsコレクション・オブジェクトについて 複数のシートの操作について Workbooksコレクション・ Workbookオブジェクトについて Excelで複数のブックを開いてい…

【Excel VBA エキスパート ベーシック】Val関数 (数値へ変換) (VBA入門33)

Val関数とは サンプルコード サンプルコード2 Val関数とは Val関数は文字列形式の数値を、数値型に変換します。引数の文字列の左側から数値と認識できる部分のみを数値に変換し、それ以外は除去します。左端が文字の場合は、0を返します。構文 Val(文字列) …

【Excel VBA エキスパート ベーシック】Dir関数 (ファイルの存在を確認する) (VBA入門32)

Dir関数とは サンプルコード サンプルコード2 Dir関数とは Dir関数は引数にファイルやフォルダのパスを指定し、指定したファイルやフォルダが存在するときにはファイル名もしくはフォルダ名を返し、存在しないときは「""」を返します。 ファイルやフォルダの…

【Excel VBA エキスパート ベーシック】InputBox関数 (データを入力するダイアログボックスの表示) (VBA入門31)

InputBox関数とは InputBox関数のサンプルコード InputBox関数のサンプルコード2 InputBox関数とは InputBox関数は、ダイアログボックスにメッセージとユーザが入力できるテキストボックスを表示する関数になります。ユーザが入力した文字列を返します。 構…

【Excel VBA エキスパート ベーシック】Msgbox関数 (メッセージダイアログボックスの表示) (VBA入門30)

Msgbox関数とは サンプルコード1:戻り値を使わない場合 サンプルコード2:戻り値を使う場合 Msgbox関数とは 以下のようなメッセージを表示するダイアログボックスを表示します。 <Msgbox例> 構文Msgbox 文字列,ボタン・アイコン,タイトル →戻り値を取得しない場合は引</msgbox例>…

【Excel VBA エキスパート ベーシック】数値系の関数 Int関数・Fix関数 (小数切り捨て) (VBA入門29)

Int関数とは Int関数のサンプルコード Fix関数とは Fix関数のサンプルコード Int関数とは Int関数は引数に指定した数値の小数部分を切り捨て、整数部を返します。 構文Int(数値) 引数の数値が正の値1.1~1.9なら1を返します。引数が負の値-1.1~-1.9なら-2を…

【Excel VBA エキスパート ベーシック】文字列系の関数 Format (書式を指定する) (VBA入門28)

Format関数 Format関数のサンプルコード Format関数 Format関数は、指定した値を指定した「書式」に変換した文字列の値を返します。 構文 Format(値)値をそのまま文字列に変換します。 Format(値,書式)値を指定した書式の文字列に変換します。 書式の記号に…

【Excel VBA エキスパート ベーシック】文字列系の関数 Replace~文字を置換する~ (VBA入門27)

Replace関数について Replace関数のサンプルコード Replace関数のサンプルコード2:特定の文字を削除する Replace関数のサンプルコード3:vbTextCompare、vbBinaryCompare Replace関数について Replaceは引数に指定した文字列に対して、引数の検索文字列を引…

【Excel VBA エキスパート ベーシック】文字列系の関数 Trim・LTrim・Rtrim (空白を削除する) (VBA入門26)

Trim関数、LTrim関数、RTrim関数について Trim関数のサンプルコード LTrim関数のサンプルコード RTrim関数のサンプルコード Trim関数、LTrim関数、RTrim関数について Trim関数、LTrim関数、RTrim関数はスペース(空白)を削除する関数です。 Trim関数:引数に…

【Excel VBA エキスパート ベーシック】文字列系の関数 (LCase・UCase・StrConv) (VBA入門25)

LCase関数、UCase関数について StrConv関数について 文字列を変換する3つの関数を紹介します。 LCase関数、UCase関数について LCaseは引数に指定したアルファベットの大文字を小文字に変換する関数です。 UCaseは引数に指定したアルファベットの小文字を大文…

【Excel VBA エキスパート ベーシック】文字列系の関数 (Left・Right・Mid・Instr・Len) (VBA入門24)

Left関数・Right関数・Mid 関数について Left関数 Right関数 Mid関数 Instr関数について Len関数について 文字列を操作する5つの関数を紹介します。 Left関数・Right関数・Mid 関数について Left関数、Right関数、Mid関数は引数で指定した文字列から、一部の…

【Excel VBA エキスパート ベーシック】日付・時間を扱う基本的な関数2 (Time・Hour・Minute・Second・TimeSerial・TimeValue) (VBA入門23)

Time関数 Hour関数 Minute関数 Second関数 TimeSerial関数 TimeValue関数 日付・時間を扱う基本的な関数の第2弾。 前回の記事は以下 Time関数 Time関数はパソコンで設定されている時刻が返されます。 書式:Time サンプル Hour関数 Hour関数は、引数に指定し…

【Excel VBA エキスパート ベーシック】日付・時間を扱う基本的な関数 (Now・Date・Year・Month・Day・DateSerial・DateValue・DateAdd・DateDiff) (VBA入門23)

Now関数 Date関数 Year関数 Month関数 Day関数 DateSerial関数 DateValue関数 DateAdd関数 Datediff関数 日付や時間を扱う基本的な関数をまとめて紹介します。 Now関数 Now関数は現在の『日時』を返します。引数はありません。ExcelのNow()と同じ働きをしま…

【Excel VBA エキスパート ベーシック】Withステートメント~同じ記述の省略~ (VBA入門22)

Withステートメントとは Withステートメントの書き方 Withステートメントのサンプルコード Withステートメントとは 同じ処理対象のオブジェクトを1つにまとめて、省略することができます。Withステートメントに記述したオブジェクトに対して、1つの記述のみ…

【Excel VBA エキスパート ベーシック】For Nextステートメント~繰り返し~ (VBA入門21)

For Nextステートメント For Nextステートメントの書き方 サンプルコード1:変数の中の値 サンプルコード2:Stepを使って増分値を指定する For Nextステートメント For Nextステートメントは、同じ処理を繰り返すときに使います。 For Nextステートメントの…

【Excel VBA エキスパート ベーシック】Select Caseステートメント ~条件分岐~ (VBA入門20)

Select Caseステートメント Select Caseステートメントの書き方 Select Caseステートメントのサンプルコード Select Caseステートメント Select Caseステートメントでは、複数の条件によって処理を分岐させることができます。 Ifステートメントは条件の分岐…

【Excel VBA エキスパート ベーシック】IFステートメント~条件分岐~ (VBA入門19)

IFステートメント IFステートメントの書式 1.Trueの場合のみ処理を実行する 1文で記述するパターン 2.Trueの場合のみ処理を実行する 3.TrueとFalseで異なる処理を実行する 4.条件の結果に応じて異なる処理を実行する IFステートメント IFステートメントは、…

【Excel VBA エキスパート ベーシック】Offsetプロパティ、Resizeプロパティ (VBA入門18)

Offsetプロパティとは Offsetプロパティの行、列の考え方 Resizeプロパティとは セル範囲を表すOffsetプロパティ、Resizeプロパティについて記載します。 Offsetプロパティとは Offsetプロパティは指定したセルから移動する行数、列数を指定して、相対的にセ…

【Excel VBA エキスパート ベーシック】メソッドpart4 ~Copy~ (VBA入門17)

Copyメソッドとは セルのコピー ワークシートのコピー Copyメソッドとは Copyメソッドは、セルやワークシートをコピーするメソッドです。 構文 Rangeオブジェクト.Copy ([Destination])※引数のDestinationはコピー先のセルを指定するときに使います。※引数の…