ユーザーフォームの入力項目をバックアップ-エクセルVBA抽選ソフト作成5

tyusenbackupeyecatch

ユーザーフォームに項目記入しても、一旦非表示にしてしまうと、
再表示時には、入力した項目がすべてクリアされていることにショックを感じます。
バックアップ対策で表示復旧を簡単に行えるようにします。

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

 

今回のエクセルVBA抽選ソフト作成5の解説は、

「ユーザーフォーム」に記入した項目をバックアップ保存するためのコードの作成についてです。

 

一つ前の記事を読み返すのはこちら↓からになります。

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

 

 

ユーザーフォームの入力項目をバックアップする理由

 

ユーザーフォームの入力項目を、なぜバックアップする必要があるのか?

理由は単純明快です。ユーザーフォームは非表示になるからです。

つまり、ユーザーフォームが一旦非表示になると、

それまでセットしていたユーザーフォームの入力項目がすべてクリアされてしまうのです。

するとどうなるか?

ユーザーフォームを使うためには再度1から項目を入力しなければなりません。

もしユーザーフォームが非表示ななる前に、

入力項目がプログラムに値として取り込まれていたら

更にそのエクセル本体を終了していなければ、入力値としては保持されてはいます。

(この場合でもユーザーフォームの非表示原因がプログラムコードエラーなら、入力値としても保存されませんが・・・)

 

こんな面倒なことが起こってしまうことが、入力項目をバックアップしておきたいという理由です。

 

ユーザーフォームの入力項目をバックアップの流れ

 

抽選項目BUシートに、ユーザーフォームの入力項目を転記します。

 

「抽選項目登録」ボタンの場合

ユーザーフォームの「抽選項目登録」ボタンが押されたとき、入力項目の値が変数に代入されるのと同時に、

Module4に記述されている「抽選項目バックアップ」プロシージャーで、

入力項目データを抽選項目BUシートに転記します。

この「抽選項目登録」ボタンをクリックしたときは、新しいバックアップとしてそれまでのデータがリセットされます。

 

「抽選項目更新」ボタンの場合

ユーザーフォームの「抽選項目更新」ボタンが押されたときは、

Module4に記述されている「抽選項目バックアップ旧データ」プロシージャーによって、

抽選項目BUシート上で、先の「抽選項目登録」の時にバックアップされた入力項目データを下方向に移動します。

更に、今、入力されているユーザーフォームの入力項目をバックアップ位置に転記します。

Module4に記述されている「抽選項目更新」プロシージャーによって、

更新された項目を含めて、再度、抽選項目が変数に代入され変数値が更新されます。

抽選状況一覧において、賞名が更新された新しい賞名に変更されます。

 

「抽選方法12か所」ボタンの場合

各賞の「単発」と「連続」ボタンを押して抽選を行った時にも

「抽選項目更新」ボタンを押したときと同じバックアップが行われます。

常に最新の状況としてバックアップします。

 

バックアップ関連のプロシージャーの内容

 

Module4に記述していきます。

「抽選項目バックアップ」プロシージャー

 

tyusenbackup001a

 

宣言変数

  • i、j・・・・ カウンター変数
  • BUsheet・・・・ 抽選項目BUシート
  • Title・・・・ 抽選名称
  • Par・・・・ 参加人数(口)
  • EVD・・・・ 開催日付
  • PrN()・・・・ 賞名
  • PrQ()・・・・ 当選本数

抽選項目BUシートのA列からC列、1から10行目にバックアップを作ります。

コード

Sub 抽選項目バックアップ()

    Dim i, j As Long
    
        Set BUsheet = Worksheets("抽選項目BU")
        BUsheet.Select
        Cells.Clear
        
        For i = 101 To 109
           Cells(1, 1) = "抽選項目"
           Cells(1, 2) = "設定値"
           Cells(1, 3) = "当選本数"
           Cells(i - 100 + 1, 1) = 選定ナビ.Controls("Label" & i).Caption
        Next i
           
        Range("B2") = TItle
        Range("B3") = Par
        Range("B4") = EVD
        
        For j = 1 To 6
            Range("B" & 4 + j) = PrN(j)
            Range("C" & 4 + j) = PrQ(j)
        Next j
        
        Columns("A:C").AutoFit
End Sub

 

「抽選項目バックアップ旧データ」プロシージャー

 

tyusenbackup002a

 

宣言変数

  • i・・・・ カウンター変数
  • BUsheet・・・・ 抽選項目BUシート
  • TYsheet・・・・ 抽選会場シート

抽選会場シートのセルA1が「空白」の場合はプロシージャーを実行しません。
(セルA1が空白になっているの状態は、この抽選ソフトが使われていない初期の状態の時です。)

「賞名」がデフォルトの「(仮)賞」も入力されていない状態の時があれば、

デフォルトの「(仮)賞」を強制表示させるプロシージャー「賞名空白対処」を呼び出します。

コード

Sub 抽選項目バックアップ旧データ()

    Dim i As Long
    
        Set BUsheet = Worksheets("抽選項目BU")
        Set TYsheet = Worksheets("抽選会場")
        
        TYsheet.Select
        If Range("A1") = "" Then Exit Sub
        
        BUsheet.Select
        
        Call Module4.賞名空白対処
        
        For i = 1 To 10
            Range("A" & 12 + i) = "旧 " & Range("A" & i)
            Range("B" & 12 + i) = Range("B" & i)
            Range("C" & 12 + i) = Range("C" & i)
        Next i
        
        Range("B2") = 選定ナビ.抽選名称.Value
        Range("B3") = 選定ナビ.参加人数.Value
        Range("B4") = 選定ナビ.開催日付.Value
        
        Range("B5") = 選定ナビ.一位賞.Value
        Range("B6") = 選定ナビ.二位賞.Value
        Range("B7") = 選定ナビ.三位賞.Value
        Range("B8") = 選定ナビ.四位賞.Value
        Range("B9") = 選定ナビ.五位賞.Value
        Range("B10") = 選定ナビ.六位賞.Value
        
        Range("C5") = 選定ナビ.一位本.Value
        Range("C6") = 選定ナビ.二位本.Value
        Range("C7") = 選定ナビ.三位本.Value
        Range("C8") = 選定ナビ.四位本.Value
        Range("C9") = 選定ナビ.五位本.Value
        Range("C10") = 選定ナビ.六位本.Value
        
        Columns("A:C").AutoFit

End Sub

 

「抽選項目更新」プロシージャー

 

宣言変数

  • i、j、k・・・・ カウンター変数
  • FArow・・・・ 抽選会場シートの抽選一覧表の賞名列の最終行
  • BUsheet・・・・ 抽選項目BUシート
  • TYsheet・・・・ 抽選会場シート
  • Title・・・・ 抽選名称
  • Par・・・・ 参加人数(口)
  • EVD・・・・ 開催日付
  • PrN()・・・・ 賞名
  • PrQ()・・・・ 当選本数
  • PrQn()・・・・ 当選本数(数値型)

抽選一覧表の賞名のさかのぼり修正は、

抽選項目バックアップの賞名の新旧を比較して差異がある場合は、

旧賞名を新賞名に置き換えるという作業を行っています。

コード

Sub 抽選項目更新()
    Dim i, j, k As Long
    Dim FArow As Long
    
        Set BUsheet = Worksheets("抽選項目BU")
        Set TYsheet = Worksheets("抽選会場")
        
        TYsheet.Select
        If Range("A1") = "" Then Exit Sub
        
        BUsheet.Select
        TItle = Range("B2")
        Par = Range("B3")
        EVD = Range("B4")
                
        Call Module4.賞名空白対処
                
        For i = 1 To 6
            PrN(i) = Range("B" & 4 + i)
            PrQ(i) = Range("C" & 4 + i)
            PrQn(i) = Val(StrConv(PrQ(i), vbNarrow))
            TYsheet.Range("C" & 4 + i) = PrQn(i) - TYsheet.Range("B" & 4 + i)
        Next i
                
        TYsheet.Select
        If Range("A1") = "" Then
            Range("C:C").ClearContents
        End If
        For j = 1 To 6
            TYsheet.Range("A" & 4 + j) = BUsheet.Range("B" & 4 + j)
        Next j
            
    '抽選会場当選結果、賞名のさかのぼり修正
        FArow = TYsheet.Cells(Rows.Count, 1).End(xlUp).Row
        BUsheet.Select
        For j = 1 To 6
            If Range("B" & 4 + j) <> Range("B" & 16 + j) Then
            
                For k = 12 To FArow
                    If TYsheet.Range("A" & k) = BUsheet.Range("B" & 16 + j) Then
                        TYsheet.Range("A" & k) = BUsheet.Range("B" & 4 + j)
                    End If
                Next k
            
            End If
        
        Next j
        TYsheet.Select

End Sub

 

MEMO

Val関数の使い方についてはこちらの記事を参考にしてください。

VBAValeyecatchエクセルVBA Val関数の使い方「値を文字列型から数値型へ変換する」

StrConv関数の使い方

 

「賞名空白対処」プロシージャー

 

宣言変数

  • i・・・・ カウンター変数

それぞれの賞名が空欄で、かつ当選本数が入力されている場合に「(仮)賞」をユーザーフォームのテキストボックスに表示します。

コード

Sub 賞名空白対処()

    Dim i As Long
    
        For i = 1 To 6
        
            If 選定ナビ.一位賞.Value = "" And 選定ナビ.一位本.Value <> "" Then
                        選定ナビ.一位賞.Value = "(仮)1位賞"
            ElseIf 選定ナビ.二位賞.Value = "" And 選定ナビ.二位本.Value <> "" Then
                        選定ナビ.二位賞.Value = "(仮)2位賞"
            ElseIf 選定ナビ.三位賞.Value = "" And 選定ナビ.三位本.Value <> "" Then
                        選定ナビ.三位賞.Value = "(仮)3位賞"
            ElseIf 選定ナビ.四位賞.Value = "" And 選定ナビ.四位本.Value <> "" Then
                        選定ナビ.四位賞.Value = "(仮)4位賞"
            ElseIf 選定ナビ.五位賞.Value = "" And 選定ナビ.五位本.Value <> "" Then
                        選定ナビ.五位賞.Value = "(仮)5位賞"
            ElseIf 選定ナビ.六位賞.Value = "" And 選定ナビ.六位本.Value <> "" Then
                        選定ナビ.六位賞.Value = "(仮)6位賞"
            End If
        
        Next i

End Sub

 

「当選者リスト作成」プロシージャー

 

tyusenbackup003a

 

バックアップ関連でModule4に「当選者リスト作成」プロシージャーを記述します。

当選者シートに当選者リストをコピーでバックアップします。

当選者リストを作成する度に、前回作成分に上書きされます。

ソフトの「強制初期化」を行うと当選者シートそのものがクリアされます。

安全に保存するためには、別のエクセルファイルに内容をコピー保存してください。

コード

Sub 当選者リスト作成()

    Dim LCRow As Long
    
        Set TYsheet = Worksheets("抽選会場")
        Set TOsheet = Worksheets("当選者")
        
        If TYsheet.Range("A1") = "" Then Exit Sub
        
        TOsheet.Select
        Cells.Clear
        
        TYsheet.Select
        LCRow = TYsheet.Cells(Rows.Count, 3).End(xlUp).Row
        
        Range(Cells(3, 1), Cells(LCRow, 3)).Copy TOsheet.Range("A3")
        TOsheet.Select
        
        With TOsheet
            .Columns("A:C").AutoFit
            .Range("A1") = TItle '選定ナビ.抽選名称.Value
            .Range("C1") = EVD '選定ナビ.開催日付.Value
            .Range("A2") = Par & "人(口)" '選定ナビ.参加人数.Value & "人(口)"
        
            With .Range("A1,A2,C1").Font
                .Bold = True
                .Size = 13
            End With
        
        End With
        
        TYsheet.Select

End Sub

 

MEMO

データ入力済セルの最終行番号取得についてはこちらを参考にしてください。

vbalastcelleyecatchエクセルVBA データ入力済セルの最終行番号を取得する方法

 

ユーザーフォームの入力項目をバックアップ のまとめ

 

ユーザーフォームを非表示にしてしまうと、再表示時には入力した項目がすべてクリアされています。
(このソフトでは、デフォルトで「(仮)賞」がテキストボックスに表示されるようになっています。)

「抽選項目登録」や「抽選項目更新」を行っていた場合は、

「抽選名称復旧」や「抽選項目復旧」ボタンで状態を前に戻すことが出来ます。

 

結構あれば便利な機能です。

 

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

 

これでエクセルVBA抽選ソフトの解説は終了です。

 

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

 

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の操作をする。その技術的サポートをするための初級からの参考書になっています。
文章解説と動画との関係性は、主は文章での解説、サポートが動画になります。