【VBA】指定したセルの隣にデータベースからランダムな値を自動入力する方法

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代が中心です。

受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。

ブログで稼ぎたいなら「メイカラ」

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次