この関数について
ランダムな要素の出力が必要な時、出力される可能性のある要素を配列にすべて格納し、その配列に対してランダムなインデックスを指定することで要素を取得・出力するという方法があります。このとき、ランダムなインデックスは0以上の整数値であり、かつ、配列の最大要素数を超えてはいけません。ExcelVBA(マクロ)に標準搭載されているランダム関数では0以上1未満の少数点付数値しか取得できません。ランダムな少数点付数値を指定範囲の整数に変換する式はネットに記事があふれているのですぐに見つけることができますが、都度調べるのは面倒で、覚えていられるほど使用頻度も高くないため、関数化をしました。この関数は指定した範囲内でランダムな整数を返します。
関数コピペ ~コードをクリックするだけでコピー完了!~
使い方 ①引数
引数名 | 型 | 参照 | 省略 | 内容 |
---|---|---|---|---|
min_num | Long | ByVef | 不可 | 取得したいランダムな整数の最小値を指定します。 |
max_num | Long | ByVal | 不可 | 取得したいランダムな整数の最大値を指定します。 |
使い方 ②戻り値
状態 | 型 | 内容 |
---|---|---|
正常 | Long | 指定範囲内のランダムな整数値を返します。 |
例外 | Variant | 最大と最小の順序を変えても関数内では補正しないため意図した出力になりません。 |
エラー | Variant | エラー処理は想定されていません。 |
サンプルコード(クリックでコピー)
【結果】ランダムな整数を取得することができました
サンプルコードを実行すると、配列に格納されたおみくじの結果をランダムにイミディエイトウィンドウに出力します。配列のサイズを引数でわたしてるため、12種おみくじ、17種おみくじにも対応できるように設計されています。
関数リファレンスにはコピペで使用可能な便利関数を多数掲載!
関数リファレンスでは私が開発の中で必要になったコード部品を汎用化・関数化して公開しています。この記事で紹介した関数以外にもコピペで利用できる関数を多数用意しています。検索窓から必要な機能を検索してみましょう!解説記事も続々公開中。
当サイトで公開している関数はすべて下記ライセンスのもとで配布しています。 Copyright (c) 2024 VBA.funcref Released under the MIT license The MIT LicenseCopyright Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated d...
Comment