抽選作業を操作するユーザーフォーム作成-エクセルVBA抽選ソフト作成3

tyusenuformeyecatch

抽選作業を操作するためのユーザーフォーム作成を説明します。
今回はエクセルVBA抽選ソフト作成の3回目になります。
設置コントロールは多いですが、同じパターンで設置できます。
入力ミスに注意しましょう。

こんにちは、じゅんぱ店長(@junpa33)です。

 

今回のエクセルVBA抽選ソフトの作り方は、抽選作業の操作を行う「ユーザーフォーム」づくりです。

全ての抽選の操作を「抽選NAVIGATOR」というユーザーフォームで行うようにします。

 

前の記事を読み直すにはこちら↓です。

tyusenjikkoueyecatchエクセルVBA抽選の実行コードを組み立てる-エクセルVBA抽選ソフト作成2

 

tyusentorisetueyecatch
イベント企画などでの抽選作業を、エクセルVBAを利用して簡単に進めて行きます。 無料でダウンロードできるエクセルVBA抽選ソフト【重複なし】です。 少人数参加から大人数まで対応します。記事内に説明書きあります。 こんにちは、じゅんぱ店長(@ ...
続きを読む
extyusenranhyoeyecatch
エクセルVBA抽選ソフトの作り方を紹介していきます。 初回の今回は、参加者を乱数表に落とし込むところまでです。 後々に、この乱数表(抽選表)を使って当選番号が決まっていきます。 こんにちは、じゅんぱ店長(@junpa33)です。 今回から、 ...
続きを読む
tyusenjikkoueyecatch
エクセルVBA抽選ソフトの作成方法説明の2回目です。 今回はエクセルVBA抽選の実行コードを組み立て方を解説します。 抽選方法にバリエーションを設定していますので、抽選のイベント性がより高くなります。 こんにちは、じゅんぱ店長(@junpa ...
続きを読む
tyusenuformeyecatch
抽選作業を操作するためのユーザーフォーム作成を説明します。 今回はエクセルVBA抽選ソフト作成の3回目になります。 設置コントロールは多いですが、同じパターンで設置できます。 入力ミスに注意しましょう。 こんにちは、じゅんぱ店長(@junp ...
続きを読む
tyusencomopteyecatch
コマンドボタンで起動するコード(プロシージャー)を作ります。 今回はエクセルVBA抽選ソフト作成4になります。 単一的に実行させるのではなく、オプションボタンで指定したスタイルで実行の動作を可変させています。 こんにちは、じゅんぱ店長(@j ...
続きを読む
tyusenbackupeyecatch
ユーザーフォームに項目記入しても、一旦非表示にしてしまうと、 再表示時には、入力した項目がすべてクリアされていることにショックを感じます。 バックアップ対策で表示復旧を簡単に行えるようにします。 こんにちは、じゅんぱ店長(@junpa33) ...
続きを読む

 

 

コンテンツ

ユーザーフォームの操作パネルのデザイン

 

ユーザーフォーム「抽選NAVIGATOR」の完成形はこのようになります。

tyusentorisetu002a

14項目のコントロールを配置します。

イベントコードをフォームモジュールに記述します。

  1. 「 抽選名称復旧」コマンドボタン
  2. 「抽選名称」テキストボックス
  3. 「参加人数」テキストボックス
  4. 「開催日付」テキストボックス
  5. 「抽選表SET」コマンドボタン
  6. 「賞名6か所」テキストボックス
  7. 「当選本数6か所」テキストボックス
  8. 「抽選項目復旧」コマンドボタン
  9. 「抽選項目登録」コマンドボタン
  10. 「抽選項目更新」コマンドボタン
  11. 「抽選方法12か所」コマンドボタン
  12. 「抽選結果を保存」コマンドボタン
  13. 「イベントコントロール11か所」オプションボタン
  14. 「強制初期化」コマンドボタン

 

ユーザーフォーム作成
各コントロールのオブジェクト配置

 

ユーザーフォームのオブジェクト表示で、ツールボックスからコントロールを配置していきます。

MEMO

具体的な設置方法はこちらを参考にしてください。

ryousyu_userformeyecatchaエクセルで領収書、ユーザーフォームのVBAで印刷をコントロール

 

ユーザーフォームに名前を付ける

 

新規作成したユーザーフォームに、コントロールボタンオブジェクトを設置します。

キーボードで「F4」を押してユーザーフォームのプロパティウインドを表示します。

「(オブジェクト名)」と「Caption」に「選定ナビ」と入力します。

ツールボックスから「ラベル」を選択し、上部スペースに「抽選NAVIGATOR」と張り付けてください。

tyusenuform001a

 

①「 抽選名称復旧」コマンドボタン

 

「 抽選名称復旧」コマンドボタンを設置します。

ツールボックスから「コマンドボタン」を選択し、上部スペース適所に設置します。

設置のコマンドボタンプロパティで、

(オブジェクト名)抽選名称復旧ボタン
Caption抽選名称復旧
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み

と入力します。

tyusenuform002a

 

②「抽選名称」テキストボックス

 

「 抽選名称」テキストボックスを設置します。

Captionの代わりに、ツールボックスから「ラベル」を選択し、上部スペースに「抽選名称」と張り付けてください。

ツールボックスから「テキストボックス」を選択し、スペース適所に設置します。

設置のテキストボックスプロパティで、

(オブジェクト名)抽選名称
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex1

と入力します。

tyusenuform003a

 

③「参加人数」テキストボックス

 

「 参加人数」テキストボックスを設置します。

Captionの代わりに、ツールボックスから「ラベル」を選択し、上部スペースに「参加人数(口)」と張り付けてください。

ツールボックスから「テキストボックス」を選択し、スペース適所に設置します。

設置のテキストボックスプロパティで、

(オブジェクト名)参加人数
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex2

と入力します。

tyusenuform004a

 

④「開催日付」テキストボックス

 

「 開催日付」テキストボックスを設置します。

Captionの代わりに、ツールボックスから「ラベル」を選択し、上部スペースに「開催日付」と張り付けてください。

ツールボックスから「テキストボックス」を選択し、スペース適所に設置します。

設置のテキストボックスプロパティで、

(オブジェクト名)開催日付
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex3

と入力します。

tyusenuform005a

 

⑤「抽選表SET」コマンドボタン

 

「 抽選表SET」コマンドボタンを設置します。

ツールボックスから「コマンドボタン」を選択し、スペース適所に設置します。

設置のコマンドボタンプロパティで、

(オブジェクト名)リセット
Caption抽選表SET
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex4

と入力します。

tyusenuform006a

 

⑥「賞名6か所」テキストボックス

 

「 賞名」というラベルを設置してください。

「 1位賞名」から「6位賞名」テキストボックスを設置します。

Captionの代わりに、ツールボックスから「ラベル」を選択し、スペースに「各位の賞名」を張り付けてください。

ツールボックスから「テキストボックス」を選択し、スペース適所に設置します。

設置のテキストボックスプロパティで、

1位賞名の場合

(オブジェクト名)一位賞
BackColor適宜お好み
Font適宜お好み
ForeColor記入不要(フォームモジュールから指定)
TabIndex5
Text(仮)1位賞

と入力します。

tyusenuform007a

同様に6位賞名まで設置してください。

(注)TabIndexは順番に増やしてください。次の「6」は1位賞の当選本数になります。

 

⑦「当選本数6か所」テキストボックス

 

「 1位賞当選本数」から「6位賞当選本数」テキストボックスを設置します。

Captionの代わりに、ツールボックスから「ラベル」を選択し、スペースに「本」を張り付けてください。

ツールボックスから「テキストボックス」を選択し、スペース適所に設置します。

設置のテキストボックスプロパティで、

1位賞当選本数の場合

(オブジェクト名)一位本
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex6

と入力します。

tyusenuform008a

同様に6位賞当選本数まで設置してください。

 

⑧「抽選項目復旧」コマンドボタン

 

「 抽選項目復旧」コマンドボタンを設置します。

ツールボックスから「コマンドボタン」を選択し、スペース適所に設置します。

設置のコマンドボタンプロパティで、

(オブジェクト名)抽選項目復旧ボタン
Caption抽選項目復旧
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み

と入力します。

tyusenuform009a

 

⑨「抽選項目登録」コマンドボタン

 

「 抽選項目登録」コマンドボタンを設置します。

ツールボックスから「コマンドボタン」を選択し、スペース適所に設置します。

設置のコマンドボタンプロパティで、

(オブジェクト名)項目登録
Caption抽選項目登録
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex17

と入力します。

tyusenuform010a

 

⑩「抽選項目更新」コマンドボタン

 

「 抽選項目更新」コマンドボタンを設置します。

ツールボックスから「コマンドボタン」を選択し、スペース適所に設置します。

設置のコマンドボタンプロパティで、

(オブジェクト名)抽選項目最新
Caption抽選項目更新
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex18

と入力します。

tyusenuform011a

 

⑪「抽選方法12か所」コマンドボタン

 

ツールボックスから「ラベル」を選択し、「 抽選方法」「単発抽選」「連続抽選」というラベルを設置してください。

スペースに「各位の賞名」を張り付けてください。

「 1位賞」から「6位賞」の「単発」と「連続」のコマンドボタンを合計12個設置します。

ツールボックスから「コマンドボタン」を選択し、スペース適所に設置します。

設置のコマンドボタンプロパティで、

1位単発の場合は、

(オブジェクト名)一位単発
Caption1位単発
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex19

と入力します。

tyusenuform012a

1位連続の場合は、

(オブジェクト名)一位連続
Caption1位連続
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex20

と入力します。

tyusenuform013a

 

⑫「抽選結果を保存」コマンドボタン

 

「 抽選結果を保存」コマンドボタンを設置します。

ツールボックスから「コマンドボタン」を選択し、スペース適所に設置します。

設置のコマンドボタンプロパティで、

(オブジェクト名)結果保存
Caption抽選結果を保存
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex31

と入力します。

tyusenuform014a

 

⑬「イベントコントロール11か所」オプションボタン

 

ツールボックスから「ラベル」を選択し、

「 イベントコントロール」「重複メッセージ」「単発抽選」「抽選スピード」「点滅回数」「連続抽選」「抽選スピード」

というラベルを設置してください。

「 ON」「OFF」と「L」「M」「H」のオプションボタンを3組設置します。

ツールボックスから「オプションボタン」を選択し、スペース適所に設置します。

オプションボタン設置のコツ

 

そのまま設置するだけでもOKですが、オプションボタンは1つづつバラバラですので、

レイアウト変更などで、どの場所に有ったボタンだったか分からなくなる場合があります。

 

設置時にグループ化しておくと後のメンテが楽になります。

ツールボックスから、まず先にフレームを設置してその上にグループにするオプションボタンを設置するとグループ化できます。

設置のオプションボタンプロパティで、

「ON」の場合は

(オブジェクト名)OptionButton10
CaptionON
GroupName重複MS

と入力します。

(オブジェクト名)は自動で表示される名前でもOKです。

フレームを使ってグループ化すれば、そのグループ内でのスイッチングになりますが、

GroupNameでグループ名を明示しておいた方がメンテナンス的には楽になります。

tyusenuform015a

重複メッセージグループ名・・・・ 「重複MS」

単発抽選抽選スピードグループ名・・・・ 「単発速度」

単発抽選点滅回数グループ名・・・・ 「単発回数」

連続抽選抽選スピードグループ名・・・・ 「連続速度」

他のオプションボタンも同様に設置してください。

 

⑭「強制初期化」コマンドボタン

 

「 強制初期化」コマンドボタンを設置します。

ツールボックスから「コマンドボタン」を選択し、スペース適所に設置します。

設置のコマンドボタンプロパティで、

(オブジェクト名)初期化
Caption強制初期化
BackColor適宜お好み
Font適宜お好み
ForeColor適宜お好み
TabIndex32

と入力します。

tyusenuform016a

 

フォームモジュールへの各コントロールの
イベント発生のコード記述

 

ユーザーフォームに配置した各コントロールの操作のコードをフォームモジュールに記述していきます。

VBE(ビジュアルベーシックエディタ)で改めてユーザーフォームの「オブジェクトの表示」モードにします。

上から順に、配置した各コントロールを順にダブルクリックしていってください。
(ラベルについては操作対象ではないので今回は不要です。)

終わったところで「コードの表示」モードにすると、各コントロールの「コード記述の外枠」が出来ていると思います。

 

①「 抽選名称復旧」コマンドボタン

 

Module1から「抽選名称復旧」プロシージャーを起動させます。

コード

Private Sub 抽選名称復旧ボタン_Click()
    Module1.抽選名称復旧
End Sub

 

②「抽選名称」テキストボックス

 

※特にコード記述はありません

 

③「参加人数」テキストボックス

 

※特にコード記述はありません

 

④「開催日付」テキストボックス

 

※特にコード記述はありません

 

⑤「抽選表SET」コマンドボタン

 

「抽選NAVIGATOR」の「参加人数」に数字記入がされていないときはプログラム進行を中止します。

コード

Private Sub リセット_Click()
    Module1.クリアG
    Module1.応募者方眼紙
    If 選定ナビ.参加人数.Value = "" Then
        Exit Sub
    End If
    Module1.応募者配置乱数
End Sub

 

⑥「賞名6か所」テキストボックス

 

「抽選名称」テキストボックスに変化が起こった時に(文字が入力されたときに)

「(仮)」が付く文字の時はグレー色、そうでないときは黒色を表示します。

コード

Private Sub 一位賞_Change()
    With Me.一位賞
        If InStr(.Value, "(仮)") <> 0 Then
                .ForeColor = &HC0C0C0
        Else
                .ForeColor = &H0&
        End If
    End With
End Sub

同様に六位賞まで記述します。

 

MEMO

With~End Withの使い方については、この記事を参考にしてください。

vbawithstateeyecatchWith~End Withの使い方。VBAコードを簡潔に記述する

 

⑦「当選本数6か所」テキストボックス

 

※特にコード記述はありません

 

⑧「抽選項目復旧」コマンドボタン

 

Module1から「抽選項目復旧」プロシージャーを起動させます。

コード

Private Sub 抽選項目復旧ボタン_Click()
    Module1.抽選項目復旧
End Sub

 

⑨「抽選項目登録」コマンドボタン

 

Module3から「抽選項目登録」プロシージャーを起動させます。

コード

Private Sub 項目登録_Click()
    Module3.抽選項目登録
End Sub

 

⑩「抽選項目更新」コマンドボタン

 

Module4から「抽選項目バックアップ旧データ」プロシージャーを実行後

「抽選項目更新」プロシージャーを実行します。

コード

Private Sub 抽選項目最新_Click()
    Module4.抽選項目バックアップ旧データ
    Module4.抽選項目更新
End Sub

 

⑪「抽選方法12か所」コマンドボタン

 

対応する賞の当選本数が入力されていないときは、メッセージを出し「0」入力を行いプログラムを終了します。

賞名と当選本数が「白紙(デフォルトの(仮)賞も無い)」の場合は、空欄状態で抽選項目のバックアップと更新を行います。当選本数が「空欄」なのでプロシージャーは作動しません。

当選本数が入力(0以外の整数)されていて、賞名が空欄の時は「(仮)賞」をテキストボックスに表示し抽選を行います。

これらの条件以外の場合は、Module3の各賞単ボタンまたは連ボタンを起動させます。

 

「1位単発」ボタンの場合

コード

Private Sub 一位単発_Click()
    If Me.一位本.Value = "" Then
     If Me.一位賞.Value = "" Then Exit Sub
        MsgBox "当選本数が入力されていません。" & vbCrLf & "半角数字を入力してください。", vbOKOnly, "メッセージ"
        Me.一位本.Value = 0
        Exit Sub
    ElseIf Me.一位本.Value <> "" And Me.一位賞.Value = "" Then
        With Me.一位賞
            .Value = "(仮)1位賞"
        End With
        Module4.抽選項目バックアップ旧データ
        Module4.抽選項目更新
    End If
    
    If Worksheets("抽選会場").Range("C5") <= 0 Then Exit Sub
    Module3.一位単ボタン
End Sub

 

「1位連発」ボタンの場合

コード

Private Sub 一位連続_Click()
    If Me.一位本.Value = "" Then
        If Me.一位賞.Value = "" Then Exit Sub
        MsgBox "当選本数が入力されていません。" & vbCrLf & "半角数字を入力してください。", vbOKOnly, "メッセージ"
        Me.一位本.Value = 0
        Exit Sub
    ElseIf Me.一位本.Value <> "" And Me.一位賞.Value = "" Then
        With Me.一位賞
            .Value = "(仮)1位賞"
        End With
        Module4.抽選項目バックアップ旧データ
        Module4.抽選項目更新
    End If
    If Worksheets("抽選会場").Range("C5") <= 0 Then Exit Sub
    Module3.一位連ボタン
End Sub

同様に「単ボタン」「連ボタン」6位まで記述してください。

 

MEMO

メッセージボックスについてはこの記事を参考にできます。

vbamsgboxeyecatchメッセージボックス MsgBox実際の使い方を最速に理解

 

⑫「抽選結果を保存」コマンドボタン

 

Module4から「当選者リスト作成」プロシージャーを実行します。

コード

Private Sub 結果保存_Click()
    Module4.当選者リスト作成
End Sub

 

⑬「イベントコントロール11か所」オプションボタン

 

オプションボタンがクリックされた時は、それぞれの識別コードが発生するようにしています。

これは、フォームモジュール上ではなく、Module3で行われるようにしています。

OptionButton1の場合

Module3から「option1ボタン」プロシージャーを実行します。

コード

Private Sub OptionButton1_Click()
    Module3.option1ボタン
End Sub

同様にボタン11まで記述してください。

 

⑭「強制初期化」コマンドボタン

 

Module1から「クリアS」プロシージャーを実行します。

コード

Private Sub 初期化_Click()
    Module1.クリアS
End Sub

 

ユーザーフォームを表示するエクセルVBA

 

ユーザーフォーム「抽選NAVIGATOR」をこのエクセルVBAソフト起動時に表示するためのコードを記述します。

 

ブックモジュールに以下のコードを記述します。

コード

Private Sub Workbook_Open()
    選定ナビ.Show vbModeless
End Sub

 

シートモジュール「Sheet1(抽選会場)」に以下のコードを記述します。

コード

Private Sub Worksheet_Activate()
    選定ナビ.Show vbModeless
End Sub

 

抽選作業を操作するユーザーフォーム作成 のまとめ

ここまで、ユーザーフォームの設置の仕方を説明してきました。

設置コントロールの数と種類が多いので間違わないようにしてください。

ユーザーフォームのデザインに特に決まりはありませんので、

それぞれのコントロールのレイアウトなど自由にお考え下さい。

もちろん、ボタンの色やフォントの色やスタイルも自由です。

 

ちょっとした注意点ですが、ユーザーフォームを作成する場合

デフォルトではスクロールバーが表示されないということです。

 

大きめのモニタで作業していた場合、実際に使用するPCの画面では、

作ったユーザーフォームが長すぎて、稀に画面からはみ出してしまうことがあります。

うっかりミスですが、他のモニタでの見え方のチェックや、ユーザーフォームのコンパクトなつくり方に注意しましょう。

 

エクセルVBAの独習を始めるためのポイントについて vbastudyeyecatchエクセルVBAを独学で習得するためのポイントは?良書との出会いは重要 基礎知識習得のためのオンライン学習講座の参考記事 Udemy1eyecatchエクセルVBA初級者がUdemyで動画学習する講座おすすめ5選と無料講座の上手な使い方。
  今回の記事はここまでです。
最後までご覧いただき有難うございました。

 

次の記事に進むのはこちら↓からになります。

tyusencomopteyecatchコマンドボタンで起動するコードを作る-エクセルVBA抽選ソフト作成4

 

vbaintfixeyecatch
エクセルVBA関数で、数値の整数部分だけを分離します。 整数値取得のFix関数でなくInt関数の使用の場合でも、 他の関数との組み合わせで解決することが出来ます。 こんにちは、じゅんぱ店長(@junpa33)です。 今回のテーマは、数値の整 ...
続きを読む
vbarndeyecatch
エクセルVBAのRnd関数で乱数を取得します。 実用のためにはコードに簡単な加工をする必要があります。特に乱数値の整数化とRandomizeは必須です。 6.5兆通りのパスコードの生成方法も解説しています。 こんにちは、じゅんぱ店長(@ju ...
続きを読む
vbaroundupdowneyecatch
エクセルVBA 数値の切り上げ、切り捨てをするときには注意しなければいけません。 RoundUp関数とRoundDown関数を使う時に負の数が混在していると、そのままだと誤った計算結果になることがあります。 こんにちは、じゅんぱ店長(@ju ...
続きを読む
vbaroundeyecatch
エクセルVBAでも数値を四捨五入したい時は、Round関数を利用することが多いです。 Round関数の使い方はワークシートと同様ですが、ただ大きな注意点があります。 ここではその注意点も含めて使い方の説明を行います。 こんにちは、じゅんぱ店 ...
続きを読む
vbamaxminaveeyecatch
エクセルVBAで、ワークシート関数 Max・Min・Averageを利用して最大値・最小値・平均を求めます。 「簡単で短いエクセルVBAコード組み立て」を目指す上では、ワークシート関数は強い味方です。 こんにちは、じゅんぱ店長(@junpa ...
続きを読む
vbainsteeyecatch
InStr関数・InStrRev関数は、文字列操作系の関数の中でも最重要です。 この関数により指定の文字(列)の存在位置が取得できます。 そしてそれを目盛基準として、文字列操作をすることもできます。 こんにちは、じゅんぱ店長(@junpa3 ...
続きを読む
vbareplaceeyecatch
エクセルVBAで使える関数にReplace関数があります。 Replace関数は検索の文字列を指定の文字列に置換したり、削除したり出来ます。 利用価値の高い関数です。使い慣れておきましょう。 こんにちは、じゅんぱ店長(@junpa33)です ...
続きを読む
vbaselectcaseeyecatch
エクセルVBAで、必須の条件文。 その中の一つで、Select Case 条件分岐 ステートメントの使い方を説明します。 簡単なコード、可読性の向上が特徴のステートメントです。是非、知っておきましょう。 こんにちは、じゅんぱ店長(@junp ...
続きを読む
VBAValeyecatch
エクセルVBAのVal関数の使い方についてです。 「値を文字列型から数値型へ変換する」という機能があります。 データ型が不一致の場合、プログラムエラーでコード停止が発生することが良くあります。 こんにちは、じゅんぱ店長(@junpa33)で ...
続きを読む
VBAStringeyecatch
エクセルVBA String関数の使い方についてです。 「文字を指定した数だけ並べることが出来る」という機能の関数です。 この関数を使えば簡潔なコード記述で実行することが出来ます。 こんにちは、じゅんぱ店長(@junpa33)です。 今回は ...
続きを読む
vbajoineyecatch
エクセルVBAでJoin関数の使い方について説明します。 文字列を接続する関数ですが、 配列変数で文字列を要素化した時にはこれを使います。 また「区切り文字」も自由に設定できます。 こんにちは、じゅんぱ店長(@junpa33)です。 今回は ...
続きを読む
vbamideyecstch
エクセルVBAで文字列操作は、コード作成の中でも重要な部分です。 Mid・Right・Left関数は、その操作の中で重要な働きをする関数です。 文字列を切り出すこの関数の基本部分を説明します。 こんにちは、じゅんぱ店長(@junpa33)で ...
続きを読む
vbatrimeyecatch
Trim・RTrim・LTrimは文字列の端にあるスペースを取り除きます。 ちょっとのことですが、取り込みデータにスペースが付いていることでのエラーは発見修正が結構厄介です。 注意が必要です。 こんにちは、じゅんぱ店長(@junpa33)で ...
続きを読む
vbastrcstreyecatch
エクセルVBAで、Str関数とCStr関数に使い方とその違いについて説明します。 戻り値にちょっとした違いがあります。 使い方の違いでその後のコードの進行に影響が出ることがあり、なおざりにはできません。 こんにちは、じゅんぱ店長(@junp ...
続きを読む
vbaleneyecatch
Len関数の使い方ついて説明します。 エクセルVBAでプログラミングを行う時に、テキストデータを加工処理するには必須の関数です。 非常に有用な関数ですので、是非使えるようになっておきましょう。 こんにちは、じゅんぱ店長(@junpa33)で ...
続きを読む
VBACheckBoxeyecatch
エクセルシートで使う場合の、2種類あるチェックボックスの設置と使い方の違いを解説します。 一見簡単そうですが、 単純でない使い方をしたい時は、設置方法と設定方法を工夫する必要があります。 こんにちは、じゅんぱ店長(@junpa33)です。 ...
続きを読む
VBAOptionbuttoneyecatch
エクセルで書類を作成する時、項目を選択できるようにするのがオプションボタンです。 これには2種類あり、使い方にかかわる違いもあります。 詳しいオプションボタン設置方法と使い方のコツを解説します。 こんにちは、じゅんぱ店長(@junpa33) ...
続きを読む
vbamojisousaeyecatch
エクセルVBAコードで、ファイルの保存時に名前を付けて保存について、その時の年月日を付けたい時の設定方法についてです。 保存されたファイルがたくさん増えて行く中で、ファイルの判別で年月日を付けている(付けたいと思っている)人も多いでしょう。 ...
続きを読む
vbajyufukueyecatch
今回は、同じ項目を一つにまとめるためのエクセルVBAコードを紹介します。 多数銘柄の商品を複数の店で扱っている場合、商品銘柄集計表を作るには、商品銘柄の種類だけをリストにしないといけません。 こんにちは、じゅんぱ店長(@junpa33)です ...
続きを読む
vbafolderdeleteeyecatch
今回は、不要なフォルダをサクッと削除するエクセルVBAコードを紹介します。 削除の仕方は2つあります。VBA自身の機能を使うことと、FSOの機能を使うことの2つです。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAで、不 ...
続きを読む
vbadirkilleyecatch
今回は、フォルダに保存されている要らないファイルを削除するエクセルVBAコードを紹介します。 フォルダを開いて一つずつファイル名を確認して、ではなくて、コード実行一発でササッと完了します。 こんにちは、じゅんぱ店長(@junpa33)です。 ...
続きを読む
vbachdireyecatch
エクセルVBAのステートメントで「ChDir(チェインジディレクトリ)」というのがあります。 少々地味感のあるステートメントですが、この使い方のポイントを説明いたします。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAの ...
続きを読む
vbafindeyecatch001
今回は、データの検索方法で、エクセルVBAでできるメソッドについてです。 「FindとFindNextメソッド」の使い方と最速理解のコードの組み立て方を説明したいと思います。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルの検 ...
続きを読む
今回も、エクセルVBAで利用できるワークシート関数についてがテーマです。 この記事では、データナンバーなどから、その必要な値や数値を抽出する「Vloolup関数」について使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です ...
続きを読む
vbaindexeyecatch001
今回も、エクセルVBAで利用できるワークシート関数についてがテーマです。 この記事では、データリストから必要な値や数値を取り出してくる「Index関数」について使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセ ...
続きを読む
vbamatcheyecatch001
エクセルVBAで利用できる関数についてがテーマです。 今回は、データリストから必要な値や数値を取り出してくる「Match関数」について、使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAでよく使うワーク ...
続きを読む
vbahairetu3eyecatch
エクセルVBAで変数を利用するとき、二次元配列変数を知っていれば何かと便利なことがあります。 今回はそんな配列変数をより実際に近い例題で説明していきます。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAのプログラムでは、 ...
続きを読む
vbahairetu2eyecatch
エクセルVBAで配列を利用する時、それに関わる関数やステートメントを利用すれば、 より簡潔にコードを作成することが出来ます。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBA 配列を扱うときに利用できる関数とステートメント ...
続きを読む
vbahairetueyecatch
エクセルVBAで変数を利用するとき、複数の同じ型で変数を設定したいときがあります。 そんな時、出番となるのが配列変数ということです。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAの1次元配列変数の使い方を説明します。 ...
続きを読む
vbabuttoneyecatch
エクセルVBAのプログラムを実行するのに、ワークシート上に設置したボタンのクリックでワンポチっとで行いたい。 そんなボタンの簡単設置方法を紹介します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAで、シートにマクロ(プ ...
続きを読む
vbasumeyecatch
エクセルVBAで、羅列された数値の集計作業をパパッと熟していきたいときがありますよね。 それを簡単に行える方法としてSUM関数があります。今回はこのSUM関数の使い方についてです。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセ ...
続きを読む
vbainputboxeyecatch
エクセルVBAのプログラムで、利用者からの入力データを取り込んでコードを実行していくことがあります。 その簡潔な方法としてInputBoxがあります。今回はこのInputBoxの使い方についてです。 こんにちは、じゅんぱ店長(@junpa3 ...
続きを読む
vbalastcelleyecatch
エクセルVBAのプログラム作成で、入力データをその都度蓄積していく場合など、 既にデータの入っている最終セルの位置を調べたいという時が多くあります。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAのコード組み立てで、デー ...
続きを読む
vbawithstateeyecatch
エクセルVBAのコードの組み立てでは、視認性や可読性を上げるためにできるだけ記述を簡潔にしたいところです。 Withステートメントは、そういったコード記述を簡潔にする役割があります。 こんにちは、じゅんぱ店長(@junpa33)です。 エク ...
続きを読む
vbacleareyecatch
エクセルVBAでシートを再利用するために、一度内容すべてをクリアしたい時があります。 普通は、Clearメソッドを使ってクリア操作を行いますが・・・ こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAを組み上げる中で、シート ...
続きを読む
vbaoffseteyecatch
エクセルVBAで、セルやセルの選択範囲を移動させるのにOffsetプロパティがあります。 今回の「VBA最速で理解」は、この便利な「Offsetプロパティ」の使い方について説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エ ...
続きを読む
vbanameeyecatch
エクセルVBAで、アクティブセル、アクティブシート、アクティブブックという「現在参照中の・・・」というオブジェクトがあります。 今回の「VBA最速で理解」は、この「ActiveWorkbook」「ActiveSheet」「ActiveCel ...
続きを読む
vbaselacteyecatch
エクセルVBAで、そのコードを実行する先のオブジェクトに、フォーカスするためのメソッドに、「Select」と「Activate」があります。 今回は、このよく似た「Select」と「Activate」について説明します。 こんにちは、じゅん ...
続きを読む
vbavbekidoeyecatch
エクセルVBAを始めようとしたときに一番最初に戸惑うのが、「どうしたらVBAコードを書く表示画面になるのか?」だと思います。 今回は、この「どうしたら、その画面になるんだろう?」についての方法を説明します。 こんにちは、じゅんぱ店長(@ju ...
続きを読む
vbamsgboxeyecatch
エクセルVBAでユーザーフォームを使わなくても、簡単なユーザーとのやり取りならメッセージボックスでも可能です。 今回は、この「ユーザーへのメッセージや選択肢を提示する」ユーザーフォームについての説明をします。 こんにちは、じゅんぱ店長(@j ...
続きを読む
vbadoloopeyecatch
以前の記事でも書いたように、エクセルを使った業務で、「ループの処理」コードは重要な実行処理部分です。 今回は、このもう一つの「ループの処理」である「実行回数が限定されないループ処理」を行うコードについて説明します。 こんにちは、じゅんぱ店長 ...
続きを読む
vbafoldereyecatch
エクセルを使った業務で、「作成したファイルの保存」は作業の最後に必ず必要な部分です。 今回は、この「作成したファイルの保存」を行うための重要部分。保存先フォルダをVBAで指定する方法を説明します。 こんにちは、じゅんぱ店長(@junpa33 ...
続きを読む
vbasengeneyecatch
エクセルVBAのコード組み立てで使う変数。「この変数を使いますよ!」というのが「変数の宣言」です。 今回は、この変数の宣言についてです。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBA のコード組立ての中で、変数の宣言は ...
続きを読む
vbaifjyokeneyecatch
エクセルVBAのコード組み立てで最も必要な、最もよく使うメソッドの1つで「If~Then~Else」があります。 今回はこの「If~Then~Else」メソッドについて設定条件の絞り方のポイントを説明します。 こんにちは、じゅんぱ店長(@j ...
続きを読む
VBACopyeyecatch
エクセルVBAのコード組み立てで、よく使うメソッドの1つで「Copy」メソッドがあります。 今回はこの「Copy」メソッドの使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAで、ワークシートのコピーをを ...
続きを読む
VBAGotoeyecatch001
エクセルVBAのコードで、Gotoステートメントは嫌われ系のグループにはいっています。 それでも、GotoがあるのでVBAコード組み立てがスムーズに、楽に、なる事も多いと言うのも事実です。 こんにちは、じゅんぱ店長(@junpa33)です。 ...
続きを読む
fornextirekoeyecatch
エクセルVBAのコード組み立てで、非常によく使うステートメントの一つにFor~Nextでのループ処理があります。 今回はこのFor~Nextステートメントの使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルV ...
続きを読む

 

  エクセルVBAをはじめから学ぶための参考書 おすすめの一冊
改訂新版 てっとり早く確実にマスターできるExcel VBAの教科書
定番参考書の改定新版が、動画付きになりもっと分かり易くなった
vbastudy022a
vbastudy023a

「改訂新版 てっとり早く確実にマスターできるExcel VBAの教科書」をamazonで見てみる

(著者)大村あつし
(出版社)技術評論社
(税込価格)2,508円(本体2,280円+税)
30冊を超えるExcelのマクロやVBAの解説書を執筆してきた著者による考え抜かれた本書の内容と構成。
独創的な解説手法で必ずExcel VBAが理解できます!
目次一覧
1  マクロ記録とVisual Basic Editor
2  VBAの基本構文を理解しよう
3  ブックとシートをVBAで操作しよう
4  セルをVBAで操作しよう
5  変数を理解しよう
6  条件分岐を理解しよう
7  繰り返し処理(ループ)を理解しよう
8  対話型マクロを作ろう
9  文字列を操作する関数
10 日付や時刻を操作する関数
11 その他の便利な関数
初級からの参考書ですが、より実践的切り口での解説をしています。
こんな方にお勧めです。
  • 早く実際に動くものを作りたい
  • 実践的なテキストが欲しい人
  • 本質的な部分をしっかり勉強したい
  • マクロの記録では作れないものを作りたい
  • VBAがどういうものなのかを知るところから始めたい
  • いきなりガッツリ、コードを書くのは辛そうだ
  • 挫折したVBAに再チャレンジしようとしている
  • プログラミングなんてしたことがない
  • マクロの記録が出来るようになったら、もっといろいろ作りたくなった
  QRコードから操作の流れを動画(無音です)で確認することもできるようになりました。
まずはVBAの操作をする。その技術的サポートをするための初級からの参考書になっています。
文章解説と動画との関係性は、主は文章での解説、サポートが動画になります。
 
<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。