エクセルVBA Rnd関数で乱数を取得。簡単な加工コードで発生値を変化させる

vbarndeyecatch

エクセルVBAのRnd関数で乱数を取得します。
実用のためにはコードに簡単な加工をする必要があります。特に乱数値の整数化とRandomizeは必須です。
6.5兆通りのパスコードの生成方法も解説しています。

 

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

 

今回のテーマは、乱数を発生させるVBA関数の「Rnd関数」についてです。

エクセルシートでは、Rand関数としてお馴染みだと思います。

ランダムな結果を出したい時など、意外と利用する機会がある関数ではないかと思います。

 

Rnd関数で乱数を取得する
ー基本の使い方ー

 

「Rnd関数」は、戻り値として、0 以上 1 未満の値をランダムに返します。

 

Rnd関数の構文

 

Rnd関数の構文

  • Rnd ( [ 数値 ] ) 
[ 数値 ] は、省略することが出来ます。

数値内容
0未満の数値数値に応じた乱数値を戻す。

数値が同じであれば、何度実行しても戻り値は同じ

0直前の戻り値と同じ値を返します。
省略時または0より大きい数値乱数列から次の乱数値を戻します。

 

乱数の取得と簡単な加工コード
ー実用的な乱数値発生へー

 

Rnd関数の戻り値はそのままでは使いにくい

 

Rnd関数を扱う上で、素のまま使うには注意点が2つあります。

  • 出力される戻り値がそのままでは使いにくい
  • 乱数の発生が「シード値」のためにパターン化してしまう。

この2つの注意点を解決しておく必要があります。

素のRnd関数

ご覧のようにRnd関数の戻り値は、そのままだと非常に扱いづらい数値になっています。
また、エクセルブックを一度閉じて再度起動、このRnd関数を起動したときも、
前回のRnd関数と同じ戻り値(結果)になっています。

コード

Sub Rnd関数テスト1()
    Dim i As Long
        For i = 3 To 10
            Range("B" & i) = Rnd
        Next i
End Sub

vbarnd001a

 

戻り値を加工。整数値を発生させる

 

MEMO

「Int関数」について詳しくはこちらです。

vbaintfixeyecatchエクセルVBA 関数 Int・Fix・Abs・Signで数値の整数部分を完全に分離する

切り上げ切り捨ての「RoundUp関数」「RoundDown関数」についてはこちらをご覧ください。

vbaroundupdowneyecatchエクセルVBA 数値の切り上げ、切り捨てに要注意「RoundUpとRoundDown関数」

 

1桁の整数の乱数、2桁の整数の乱数を発生させる方法

乱数を整数値に加工する

整数値に加工するために、「Int関数」を使っています。

コード

Sub Rnd関数テスト2()
    Dim i As Long
        For i = 3 To 10
            Range("B" & i) = Rnd
        '1桁の整数の乱数を発生させる
            Range("C" & i) = Int(Rnd * 10)
        '2桁の整数の乱数を発生させる
            Range("D" & i) = Int(Rnd * 100)
        Next i
End Sub

vbarnd002a

 

戻り値を加工。整数にしてかつ乱数値の範囲を設定

 

指定範囲内での整数値の乱数を発生させる方法

指定範囲内の整数値乱数

  • Int (Rnd * (「最大値」-「最小値」+ 1 )  + 「最小値」) 
指定範囲内での整数値の乱数
  • 5以上15以下の範囲で整数値の乱数を発生させる。
  • 25以上50以下の範囲で整数値の乱数を発生させる。
コード

Sub Rnd関数テスト3()
    Dim i As Long
        For i = 3 To 10
            Range("B" & i) = Rnd
        '5から15の整数の乱数を発生させる
            Range("C" & i) = Int(Rnd * 11 + 5)
        '25から50の整数の乱数を発生させる
            Range("D" & i) = Int(Rnd * 26 + 25)
        Next i
End Sub

vbarnd004a

 

戻り値を加工。発生した乱数値を重複させない方法

 

Rnd関数の戻り値そのままの素だと、同値のものが戻ってくることは稀です。

Int関数で整数値化することで同値になってしまうことがあるということです。

そこで、方法は2つ

Sortメッソドを使って並び順に番号付け

一番最初に、乱数を取得順にID番号を振っていきます。

次に、戻り値を整数化せずに、小→大(または大→小)へ並び替えをし、順位付けをします。

最後に、それをID番号の取得順に並び替えを戻すと、重複のない整数値で乱数を取得した状態になります。

Sortメソッドの構文

  • Range ( セル範囲 ) . Sort Key1 := Rangeオブジェクト, Order1 := xlAscending

Rankワークシート関数で乱数値の順位を取得する

エクセルシートで使われているRank関数を、エクセルVBAでも利用します。

この方法だと、重複のない乱数の発生範囲内ですべてではないいくつだけ発生させるということも可能です。

ワークシート関数Rankの構文

  • WorksheetFunction . Rank ( 数値 , 参照 , 表示方法 ) 

「数値」・・・・ 順位付けの対象を指定します

「参照」・・・・ 順位付けの対象範囲

「表示方法」・・・・ 降順表示は0、昇順表示は1を指定します

SortメソッドとRank関数、2つの方法を使った例題

乱数値を重複させない

 

5以上25以下の範囲で、重複しない整数値の乱数を発生させます。

「Sortメソッド」については、21回すべて発生させます。

「Rankワークシート関数」については、全21回中の11回だけ発生させます。

 

コード

Sub Rnd関数テスト4()

    Dim i As Long, j As Long, k As Long
    
'Sortメソッド利用

    '乱数を取得、ID番号を付与
        For i = 5 To 25
            Range("A" & i - 2) = i
            Range("B" & i - 2) = Rnd
        Next i
    '取得乱数を小さいもの順に並び替え
        Range("A3:B23").Sort key1:=Range("B3"), order1:=xlAscending
    '乱数の順位付け
        For j = 5 To 25
            Range("C" & j - 2) = j
        Next j
    'ID番号で元の状態(取得順)に並べ直し
        Range("A3:C23").Sort key1:=Range("A3"), order1:=xlAscending
        
        Range("A2") = "ID番号"
        Range("C2") = "Sort利用"

'ワークシート関数Rank利用
    
        For k = 5 To 25
            Range("E" & k - 2) = _
            WorksheetFunction.Rank(Range("B" & k - 2), Range("B3:B23"), 1) + 4
    '乱数を10個だけ取得する時
            If k - 2 > 12 Then Exit For
        Next k
        
        Range("E2") = "Rank利用"

End Sub

vbarnd005a

 

発生させた乱数値をシートセルに表示させずに順位を取得する

エクセルシートを使わずに、発生させた乱数値の順位を取得します。

 

これまでは、シートのセルに発生させた乱数値を順に表示させて、それらのセルの値に対して整数値化、並び替え、番号付けを行いました。

ここでは、配列変数に発生させた乱数を格納し、乱数値の順位付けを行っていきます。

例えばRnd関数で100個の乱数を発生させると、1から100までの整数値の乱数が同時に発生していることになります。

非常に簡単なVBAコードですが、

乱数発生回数が以下の例のような10万回ともなると、計算処理に時間がかかってしまうこともあります。

順位確定の要点

基本的に、配列の要素を1つづつ「1対1で」大小比較を行っていきます。

「調べる要素」ー「それ以外の要素」』を引き算して、差が0より小さければ「それ以外の要素」のほうが大きいことが判明します。

そのケースが何回あるかを計測し、「その回数+1」が「調べる要素」の降順の順位となります。

配列変数から順位取得

Rnd関数で10万回乱数を発生させ、最大値(順位1位)が発生したのは何回目かを表示します。

コード

Sub 配列要素から順位を取得()

    Dim i As Long, j As Long, k As Long, n As Long, p As Long
    Dim V(1 To 100000) As Variant
    Dim Rn(1 To 100000) As Long
    '10万回乱数を発生させます。配列変数に格納します。
        For i = 1 To 100000
            V(i) = Rnd
        Next i
    '要素1対1の比較、カウント。配列変数にカウント数を格納します。
        For j = 1 To 100000
            n = 1
            For k = 1 To 100000
                If V(j) - V(k) < 0 Then
                    n = n + 1
                    Rn(j) = n
                Else
                    Rn(j) = n
                End If
            Next k
        Next j
    '順位1位の出現回を調べる。
        For p = 1 To 100000
            If Rn(p) = 1 Then
                MsgBox "最大値(1位)の出現は" & p & " 回目でした。"
                Exit For
            End If
        Next p

End Sub

 

MEMO
一次元配列についてはこちらの記事が参考になります。

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

 

乱数の発生パターンを回避する。「Randomizeステートメント」

 

「Randomize ステートメント」をあらかじめ実行しておくことで「シード値」がランダムに変更(初期化)されます。

「シード値」とは重要なのか?

ザックリと「シード値」とは、エクセルが乱数を発生させるための計算を行う上で、基となるある値のことです。

もし、「Randomize ステートメント」を実行しないと・・・

エクセルの起動時には「シード値」は固定されていますので、毎回同じ乱数の発生結果になります。

同じシード値を指定すると始めから同じ順番で乱数が発生します。

これでは最早、乱数発生とは言い難いですね。

「Randomize ステートメント」の使い方は、いたって簡単です。

記述したエクセルVBAコードの中で、「Rnd関数」が実行される行の前に「Randomize」とだけ記述するだけでOKです。

変数宣言の「Dim」の直後ぐらいに入れておくと間違いないかと思います。

 

乱数の取得と簡単な加工コード
ー6.5兆通りパスコードの生成ー

 

乱数を取得できるRnd関数を使って、「8桁のパスコード」を作成します。

 

パスコード生成のためのVBAコード概要

 

パスコード生成のステップとしてはこのように行います。

  1. Rnd関数を使って、範囲が1から40までの乱数値を取得します。
  2.  乱数表を作成します。10行x4列の合計40文字で作成します。
    ①数字(0から9までの10個)
    ②アルファベット小文字(aからzの26個)
    ③記号4種類
  3. 範囲1から40までの乱数値をセル番地として、
    乱数表から文字を取り出します。
  4. 1から3の、この動きを桁数分(今回は8回)繰り返します。
  5. 乱数表から取り出した文字を順番につなげて
    「パスコード」を完成させます。

8桁のパスコードを作りますので、

数学的計算上は、40種の8乗回で約6.5兆通りパスコード強度になります。

実用上、全く問題なく使えるレベルだと思います。

 

乱数表を準備します

 

10行・4列合計40セルの乱数表を準備します。

セル内の文字については、並び順は何でも良いです。

ただし、文字の重複がある場合は、パスコード強度が低下します。

vbarnd007a

 

乱数表から文字を抽出します

 

1から40の数字をセル番地に当てはめる方法は、考え方として

ポイント

  • 1から10までは、乱数表の1列目
  • 11から20までは、乱数表の2列目
  • 21から30までは、乱数表の3列目
  • 31から40までは、乱数表の4列目

行番号は数字の1桁目の数

  • 1,11,21,31は乱数表の1行目
  • 2,12,22,32は乱数表の2行目
  • 3,13,23,33は乱数表の3行目
  • 以降同様
  • 10,20,30,40は乱数表の10行目
パスコード生成全コード
コード

Sub Rnd関数でパスワード()
    Dim i As Long, C As Long, R As Long
    Dim Key As Long, KE As String
    Dim Word(1 To 40) As String, Pass As String
    '乱数の発生がパターン化しないようにします
        Randomize
        For i = 1 To 8
  '1から10までの整数値に加工します
            Key = Int(Rnd * 40 + 1)
  '取得した乱数からセル番地を作ります
            C = WorksheetFunction.RoundUp(Key / 10, 0) + 1
            R = Key Mod 10 + 1
            If R = 1 Then R = 11
'[ここから→]
            Word(Key) = Cells(R, C)
            Pass = Pass + Word(Key)
            KE = KE & Key & " , "
'[←ここまで]
        Next i
        Range("B14") = Pass
        Range("B15") = KE
End Sub
[ここから→]・・・[←ここまで]の部分は

説明用にVBAコードを作っています。

実際の使用上は

説明用のこのコードを

コード

   Word(Key) = Cells(R, C)
   Pass = Pass & Word(Key)
   KE = KE & Key & " , "
こちらの1行のコードに変更します。

コード

   Pass = Pass & Cells(R, C)
MEMO

RoundUp関数については詳しくはこちらです。

vbaroundupdowneyecatchエクセルVBA 数値の切り上げ、切り捨てに要注意「RoundUpとRoundDown関数」

生成したパスコード

 

実際に動かすとこのようにパスコードを取得できました。

vbarnd008a

 

Rnd関数で乱数を取得のまとめ

 

これまで、Rnd関数の使い方を紹介してきました。

Rnd関数を実用するには、結構なんだかんだとコードを加工しないといけないことをご理解いただけたと思います。

 

イベント企画案なんかでは、お世話になることも多い関数ですので、

これを機会に是非覚えて行ってください。

抽選会の当選者を決定するときには、このRnd関数をぜひ使いたいと思いますが、

パターンによっては当選確率変更ルールもあったりと、解決にお悩みの方もおられるようです。

また後々、解決の提案の記事もUPできたらと思います。

 

エクセルVBAの独習について、参考にしていただける記事を書いています。

エクセル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コードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。