エクセルVBA 1次元配列変数の利用法を最速に理解

vbahairetueyecatch

エクセルVBAで変数を利用するとき、複数の同じ型で変数を設定したいときがあります。

そんな時、出番となるのが配列変数ということです。

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

 

エクセルVBAの1次元配列変数の使い方を説明します。

基本的な使い方が理解できればまずはOKです。

底が深い配列でも普通に必要な部分を押えておけば十分常用できます。

まずは、使えることが重要です。

 

エクセルVBA 1次元配列変数の利用法を最速に理解

 

変数は、記述コードが多くなればなるほど、実行させたい事が増えれば増えるほど、種類と数が増えてくるものです。

配列変数は、そういった場面で実力を発揮してきます。

簡単なコード編成ですと逆に要りません。

ですので、簡単なコードでの解説であれば、「ふ~ん!」程度で、何のことかよくわからないままだと思います。

ということでこの例題としては、より実用的なサンプルで説明していきたいと思います。(ブログカテゴリー的には、「業務ツールのプチなVBAコード」的なものになっています。)

チョッとじっくり目にお読みいただければと思います。

 

配列変数には、「静的配列」と「動的配列」があります。

また、配列の次元として、「一次元配列」と「多次元配列」があります。

「多次元配列」と言っても、一般実用としては「二次元配列」までになると思います。

 

今回の説明では、「一次元配列」について行っていきます。

説明はこのような順序で行っていきます。

 

 

二次元配列についての記事はこちらになります。vbahairetu3eyecatchエクセルVBA 2次元動的配列変数を実例的利用法で最速に理解配列に関しての関数・ステートメントについての記事はこちらになります。

vbahairetu2eyecatchエクセルVBA 配列に関わる関数とステートメントを最速に理解

 

今回の例題を紹介します

 

お買い物の「お買い得情報の表示リスト」を作成しました。

  • 右側の野菜のお買い物「価格表」には5店舗のスーパーのチラシ価格の一覧表(データベース)となっています。
  • 左側の購入品リストに、今日の「買い出し品」を入力します。

エクセルVBAを実行すれば、最安価格がいくらで、どこのスーパーで販売しているかが「買い出し野菜」毎に表示されるようにします。

というサンプルコードについてです。

 

vbahairetu001

 

配列変数を使わずにVBAを組み立てます

 

最初に完成形のコードを紹介します。

配列変数を使わない

一つのプロシージャーとしては無駄に長大になっています。

ただし、コード組み立ての進め方的には、

コード作成のポイント

  • 買い出し野菜名の変数化
  • 買い出し野菜をデータベース検索し行番号変数化
  • 買い出し野菜の最安価格を変数化
  • 買い出し野菜の最安販売先の列番号を変数化
  • 買い出し野菜の最安価格と販売先を所定セルに表示

の順序は配列変数の時でも共通です。

 

MEMO

Match関数についてはこちらを参考にしてください。

vbamatcheyecatch001エクセルVBAで使うMatch関数 活用度アップでテッパン関数に!

Min関数についてはこちらを参考にしてください。

vbamaxminaveeyecatchエクセルVBA ワークシート関数 Max・Min・Averageで最大値・最小値・平均を求める

For Each~Next構文についてはこちらを参考にしてください。

vbadoloopeyecatchVBA 回数不定のループ処理はDo LoopとFor Each

If条件文についてはこちらを参考にしてください。

vbaifjyokeneyecatchエクセルVBA 「If条件文」を最速に理解。条件の絞り方

 

コード
Sub 一次元配列1()

Dim vegeA As String, vegeB As String, vegeC As String
Dim vegeD As String, vegeE As String, vegeF As String
Dim vegeG As String

Dim vAr As Long, vBr As Long, vCr As Long, vDr As Long
Dim vEr As Long, vFr As Long, vGr As Long

Dim vAc As Long, vBc As Long, vCc As Long, vDc As Long
Dim vEc As Long, vFc As Long, vGc As Long

Dim vArVal As Long, vBrVal As Long, vCrVal As Long, vDrVal As Long
Dim vErVal As Long, vFrVal As Long, vGrVal As Long

Dim vArRange As Range, vBrRange As Range, vCrRange As Range
Dim vDrRange As Range, vErRange As Range, vFrRange As Range
Dim vGrRange As Range

'買い出し野菜名の変数化
Worksheets("Sheet1").Select
vegeA = Range("B3").Value
vegeB = Range("B4").Value
vegeC = Range("B5").Value
vegeD = Range("B6").Value
vegeE = Range("B7").Value
vegeF = Range("B8").Value
vegeG = Range("B9").Value

'買い出し野菜をデータベース検索し行番号変数化
On Error Resume Next
vAr = WorksheetFunction.Match(vegeA, Range("F3:F22"), 0) + 2
vBr = WorksheetFunction.Match(vegeB, Range("F3:F22"), 0) + 2
vCr = WorksheetFunction.Match(vegeC, Range("F3:F22"), 0) + 2
vDr = WorksheetFunction.Match(vegeD, Range("F3:F22"), 0) + 2
vEr = WorksheetFunction.Match(vegeE, Range("F3:F22"), 0) + 2
vFr = WorksheetFunction.Match(vegeF, Range("F3:F22"), 0) + 2
vGr = WorksheetFunction.Match(vegeG, Range("F3:F22"), 0) + 2

'買い出し野菜の最安価格を変数化
vArVal = WorksheetFunction.Min(Range(Cells(vAr, 7), Cells(vAr, 11)))
vBrVal = WorksheetFunction.Min(Range(Cells(vBr, 7), Cells(vBr, 11)))
vCrVal = WorksheetFunction.Min(Range(Cells(vCr, 7), Cells(vCr, 11)))
vDrVal = WorksheetFunction.Min(Range(Cells(vDr, 7), Cells(vDr, 11)))
vErVal = WorksheetFunction.Min(Range(Cells(vEr, 7), Cells(vEr, 11)))
vFrVal = WorksheetFunction.Min(Range(Cells(vFr, 7), Cells(vFr, 11)))
vGrVal = WorksheetFunction.Min(Range(Cells(vGr, 7), Cells(vGr, 11)))

'買い出し野菜の最安販売先の列番号を変数化
For Each vArRange In Range(Cells(vAr, 7), Cells(vAr, 11))
    If vArRange.Value = vArVal Then
        vAc = vArRange.Column
    End If
Next
For Each vBrRange In Range(Cells(vBr, 7), Cells(vBr, 11))
    If vBrRange.Value = vBrVal Then
        vBc = vBrRange.Column
    End If
Next
For Each vCrRange In Range(Cells(vCr, 7), Cells(vCr, 11))
    If vCrRange.Value = vCrVal Then
        vCc = vCrRange.Column
    End If
Next
For Each vDrRange In Range(Cells(vDr, 7), Cells(vDr, 11))
    If vDrRange.Value = vDrVal Then
        vDc = vDrRange.Column
    End If
Next
For Each vErRange In Range(Cells(vEr, 7), Cells(vEr, 11))
    If vErRange.Value = vErVal Then
        vEc = vErRange.Column
    End If
Next
For Each vFrRange In Range(Cells(vFr, 7), Cells(vFr, 11))
    If vFrRange.Value = vFrVal Then
        vFc = vFrRange.Column
    End If
Next
For Each vGrRange In Range(Cells(vGr, 7), Cells(vGr, 11))
    If vGrRange.Value = vGrVal Then
        vGc = vGrRange.Column
    End If
Next

'買い出し野菜の最安価格と販売先を所定セルに表示
Range("C3") = vArVal
Range("D3") = Cells(2, vAc)

Range("C4") = vBrVal
Range("D4") = Cells(2, vBc)

Range("C5") = vCrVal
Range("D5") = Cells(2, vCc)

Range("C6") = vDrVal
Range("D6") = Cells(2, vDc)


Range("C7") = vErVal
Range("D7") = Cells(2, vEc)

Range("C8") = vFrVal
Range("D8") = Cells(2, vFc)

Range("C9") = vGrVal
Range("D9") = Cells(2, vGc)

End Sub

実行結果

赤枠のように正常に表示されました。

vbahairetu002

結構このコード組み立てはVBAの力業で作った感じで、あまり上手くない例だと思います。

 

 

配列変数を使ってVBAを組み立てます(静的配列)

 

次に、配列変数を使ったVBAコードを例示します。

配列変数を使う(静的配列)

この例は、「静的配列」と言って設定する変数の数が既に決まっている場合の例です。

今回は「買い出し野菜」が7種類ということでのコード組み立てになっています。

配列変数の数を明示的にするため宣言時に「(1 to 7)」というように表示します。

「(7)」というように記述してもいいですが、その場合は「0から7」まで、つまり変数の数が8個とみなされます。

 

コード
Sub 一次元配列2()

Dim n As Long, m As Long
Dim vege(1 To 7) As String
Dim vr(1 To 7) As Long
Dim vc(1 To 7) As Long
Dim vrVal(1 To 7) As Long
Dim vrRange(1 To 7) As Range

'買い出し野菜名の変数化
Worksheets("Sheet1").Select
For n = 1 To 7
    vege(n) = Range("B" & n + 2).Value
Next n

'買い出し野菜をデータベース検索し行番号変数化
For n = 1 To 7
    On Error Resume Next
    vr(n) = WorksheetFunction.Match(vege(n), Range("F3:F22"), 0) + 2
Next n

'買い出し野菜の最安価格を変数化
For n = 1 To 7
    vrVal(n) = WorksheetFunction.Min(Range(Cells(vr(n), 7), Cells(vr(n), 11)))
Next n

'買い出し野菜の最安販売先の列番号を変数化
For n = 1 To 7
    For Each vrRange(n) In Range(Cells(vr(n), 7), Cells(vr(n), 11))
        If vrRange(n).Value = vrVal(n) Then
            vc(n) = vrRange(n).Column
        End If
    Next
Next n

'買い出し野菜の最安価格と販売先を所定セルに表示
m = 3
For n = 1 To 7
    Range("C" & m) = vrVal(n)
    Range("D" & m) = Cells(2, vc(n))
    m = m + 1
Next n

End Sub

実行結果

青枠のように正常に表示されました。

vbahairetu003

配列変数を使うと、恐ろしく簡潔にコード組み立てが出来るようになりました。

ただ、これでもまだ、大きな問題が存在しています。

一回に付き ”買い出し野菜が7種類しか買えない。” という大きな問題が発生しているからです。

 

 

配列変数を使ってVBAを組み立てます(動的配列)

 

最後にもう一つの配列変数を使ったVBAコードです。

配列関数を使う(動的配列)

こちらの例は「動的配列」という、使うたびに変数の数が違う(固定していない)場合の例です。

その時々によって買い物の野菜の種類数が変わる時のVBAコードになります。

最初に配列変数を宣言しますが、「変数の数はまだわかりませんよ!」という記述をします。「()」空のカッコを付けます。

その時の変数の数を調べた後、「お待たせしました!」と「ReDim」で変数の数を再宣言します。(この変数の数も実は変数です。

 

コード
Sub 一次元配列3()

Dim n As Long, m As Long, BR As Long
Dim vege() As String
Dim vr() As Long
Dim vc() As Long
Dim vrVal() As Long
Dim vrRange() As Range

'その時の変数の数を調べる。数は「BR」になりました。
Worksheets("Sheet1").Select
BR = Cells(Rows.Count, 2).End(xlUp).Row - 2
If BR < 1 Then Exit Sub

'ReDimを使って、変数のその時の確定数を宣言する
ReDim vege(BR) As String, vr(BR) As Long, vc(BR) As Long
ReDim vrVal(BR) As Long, vrRange(BR) As Range

'変数の数分ループする
For n = 1 To BR

'買い出し野菜名の変数化
    vege(n) = Range("B" & n + 2).Value

'買い出し野菜をデータベース検索し行番号変数化
    On Error Resume Next
    vr(n) = WorksheetFunction.Match(vege(n), Range("F3:F22"), 0) + 2

'買い出し野菜の最安価格を変数化
    vrVal(n) = WorksheetFunction.Min(Range(Cells(vr(n), 7), Cells(vr(n), 11)))

'買い出し野菜の最安販売先の列番号を変数化
    For Each vrRange(n) In Range(Cells(vr(n), 7), Cells(vr(n), 11))
        If vrRange(n).Value = vrVal(n) Then
            vc(n) = vrRange(n).Column
        End If
    Next
Next n

'買い出し野菜の最安価格と販売先を所定セルに表示
m = 3
For n = 1 To BR
    Range("C" & m) = vrVal(n)
    Range("D" & m) = Cells(2, vc(n))
    m = m + 1
Next n

End Sub

実行結果

vbahairetu004
vbahairetu005

購入品リストに、今回は「きゅうり」「玉ねぎ」「ピーマン」を増やした時の

最安情報が表示されました。

その日によって買い出しするものが変わりますので、こちらの方が一番実用的なコード作成だと思います。

 

 

1次元配列変数の利用法を最速に理解のまとめ

 

ご覧いただいた通り、

配列関数は、エクセルVBAのコードでは必須のテクニックになっています。

さらに作成したプロシージャーの再利用を考えた場合は、変数を「動的配列」でセットしておく方が吉になると思います。

1次元配列の作成手順が解れば ”ムチャムチャ” 難しくはないと思います。

配列は中級者レベルだと言われますが、レベルに関わらず積極的に使っていきたいと思います。

 

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

 

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コードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。