オーロラさんの勉強帳

SESの客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

Excel VBA

【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はコピー先のセルを指定するときに使います。※引数の…

【Excel VBA エキスパート ベーシック】メソッドpart3 ~Delete~ (VBA入門16)

Deleteメソッド RangeオブジェクトのDeleteメソッド セルの削除のサンプル 行の削除のサンプル 列の削除のサンプル ワークシートの削除のサンプル シートの削除の確認メッセージを表示させない方法 DisplayAlertsプロパティ Deleteメソッド Deleteメソッドは…

【Excel VBA エキスパート ベーシック】メソッドpart2 消去系 ~Clear・ClearContents・ClearFormats~ (VBA入門16)

Clearメソッド ClearContentsメソッド ClearFormatsメソッド Clearメソッド セルに設定されている全てのデータ(数式や書式、値)を消去します。 以下のサンプルコードでは、セルに設定されている値や書式をすべて消去します。 サンプルコードの解説 Dim tmp A…

【Excel VBA エキスパート ベーシック】メソッド part1 ~Select・Activate~ (VBA入門15)

Selectメソッド Selectメソッドの注意点 Activateメソッド 以前紹介したSelectionプロパティ、ActiveCellプロパティと本記事のSelectメソッド、Activateメソッドを比べてもらうと、メソッドとプロパティの比較や理解がしやすいかもしれません。 auroralights…

【Excel VBA エキスパート ベーシック】セルの指定part4 ~ワークシートの指定をする~ (VBA入門14)

セルを指定する場合の上位オブジェクトの指定 標準モジュールに記述した場合 シートモジュールに記述した場合 セルを指定する場合の上位オブジェクトの指定 Range("A1")、Cells(1,1)、Range("A1").CurrentRegionなどでセル・セル範囲を指定・取得する場合、…

【Excel VBA エキスパート ベーシック】セルの指定part3 ~CurrentRegion・UsedRange~ (VBA入門13)

CurrentRegionプロパティ UsedRangeプロパティ CurrentRegionプロパティとUsedRangeプロパティの違い・注意点 1.取得するセル範囲の違い 2.指定するオブジェクトの違い 3.UsedRangeのデータ有無の考え この記事では、セル範囲を指定できるCurrentRegionプロ…

【Excel VBA エキスパート ベーシック】セルの指定part2 ~ActiveCell・Selection~ (VBA入門12)

ActiveCellプロパティ Selectionプロパティ ActiveCellプロパティとSelectionプロパティの違い 単一セルを選択している場合 複数セルが選択されている場合 ActiveCellプロパティ ActiveCellプロパティは、アクティブセルを参照するRangeオブジェクトを取得し…