ExcelのVBAを使えば、データベースとして設定したセル範囲からランダムに値を抽出して、自動で指定セルの隣に入力する処理が簡単に実現できます。
今回は、A1:A100の範囲をデータベースと見立て、そこからランダムに1件を取得し、アクティブセルの右隣に出力するマクロを作成しました。
実現したい内容
- データベースとなるセル範囲(例:
Sheet1!A1:A100)からランダムに1件取得 - 任意のセル(指定セル)の右隣(隣接セル)に出力
ActiveCellを起点とし、選択されたセルを自動処理対象とする
使用したVBAコード
以下が今回作成したVBAコードです。任意のセルを選択し、マクロを実行するだけで、隣のセルにランダムなデータが入力されます。
Sub FillAdjacentCell()
Dim TargetCell As Range
Dim DatabaseRange As Range
Dim RandomIndex As Long
Dim MaxRow As Long
' 対象のセルをアクティブなセルとして設定
Set TargetCell = ActiveCell
' データベースの範囲を設定 (例: A1:A100)
Set DatabaseRange = ThisWorkbook.Sheets("Sheet1").Range("A1:A100")
' ランダムにインデックスを取得
MaxRow = DatabaseRange.Rows.Count
RandomIndex = Int((MaxRow - 1 + 1) * Rnd + 1)
' 隣のセルにランダムに取得したデータを設定
TargetCell.Offset(0, 1).Value = DatabaseRange.Cells(RandomIndex, 1).Value
End Sub
コードの補足
Set TargetCell = ActiveCell
対象とするセルは、ユーザーが事前に選択しておくセルです。どの行・列でも対応可能です。DatabaseRange = Range("A1:A100")
ここがデータベースとなるセル範囲です。必要に応じて範囲を変更してください。RandomIndex = Int((MaxRow - 1 + 1) * Rnd + 1)
Rnd関数を使用して、1〜100までの整数をランダムに生成しています。TargetCell.Offset(0, 1)
指定セルの右隣のセルを表します。左に入れたい場合はOffset(0, -1)、下に入れたい場合はOffset(1, 0)に変更可能です。
応用と注意点
応用例
- 名前・キーワード・タグのランダム表示
- 抽選、くじ引きの補助ツールとして
- ランダムな組み合わせやテストデータの作成
注意点
Rnd関数は、連続実行時に同じ結果を返す場合があります。より自然なランダム性を求める場合は、Randomizeを先頭に追加してください。
Randomize
- データベースのセルに空白があると、その空白が出力される可能性があります。データが詰まっている範囲を正確に設定することが推奨されます。
まとめ
VBAを使えば、Excelシート上でランダムにデータを抽出し、特定セルの隣に自動で貼り付ける処理が簡単に構築できます。
ActiveCellを基準にして処理を柔軟に対応可能- データベースの範囲を変えるだけでさまざまなシーンに応用可能
Rnd関数でランダム性を担保し、選ばれた値をそのまま活用できる
日々の業務での簡易抽選やデータ自動補完などにもご活用いただけます。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
