CELLNETS Excel開発の専門会社

【VBA入門】ワークシート上の選択データ範囲に対しアドレス取得したり値をセットをする方法

【VBA入門】ワークシート上の選択データ範囲に対しアドレス取得したり値をセットをする方法


Excel実務を効率化する仕様要望は多岐にわたります。

「任意にセル選択したデータ範囲に対して、値を出力したい」そんなことって簡単にできるの?

みなさん、こんにちは。セルネッツ竹本です。

今回は、「任意のデータ範囲に対してできること」をテーマに、解説をしたいと思います。

選択範囲の処理を道具に

選んだ範囲をボタン1つでチェック・入力したい

  • シートごとに範囲が違い、チェックが手作業
  • 空欄セルの見落としで差し戻しが起きる
  • テスト用の連番や日付を毎回手で入力している

そのお悩み、選択範囲に対応したExcelツールで解決できます。Excel専門のシステム開発会社『セルネッツ』なら、選択範囲の入力値チェックや空欄の検出をアドインにできます。連番・日付・ランダム値の一括入力も、どのシートでも使えます。

\Excel専門特化 × 低価格 × スピード対応/

◆まず、VBAでできることは何か。解説します。


ワークシートに対して、任意のデータ範囲を選択した状態から、
「できること」、「得られる情報は何か」という観点でいうと、おおむね以下の5つです。

1.任意に選択したデータ範囲の始点、終点がわかる

2.任意に選択したデータ範囲のセルの個数がわかる

3.任意に選択したデータ範囲の始点の行番号、列番号がわかる

4.任意に選択したデータ範囲の終点の行番号、列番号がわかる

5.任意に選択したデータ範囲に値を一括出力できる

Excelワークシートは、二次元座標そのままなので、始点と終点さえ取得できれば、全セル判定もできるということです。

今回は連続データ範囲ですが、「飛び飛び選択」だって可能です。

この場合も考え方は全く同じで、始点(一番左上のセル)、終点(一番右下のセル)はどこ?

これを取得できるので、全セルを判定すれば空欄セルは一目瞭然ですね。

◆サンプルModule

”————————————————————–
‘Private Sub B_連続するセルRange範囲を取得_Click()
”————————————————————–

Dim SO_範囲 As Range
Dim S_取得Adr As String
Dim S_Fr行, S_Fr列, S_To行, S_To列 As Long
Dim S_Cell個数 As Long

'★選択データ範囲をSet
Set SO_範囲 = Selection

'★例)A1:B10をGet
S_取得Adr = SO_範囲.Address

'★セル個数
S_Cell個数 = SO_範囲.Count

'★始点 Cells(1, 1)の列を省略
S_Fr行 = SO_範囲.Cells(1).Row
S_Fr列 = SO_範囲.Cells(1).Column

'★終点 Cells(1, 1)の列を省略
S_To行 = SO_範囲.Cells(SO_範囲.Count).Row
S_To列 = SO_範囲.Cells(SO_範囲.Count).Column

'★選択範囲に任意値セット
O_11.Range(O_11.Cells(S_Fr行, S_Fr列), O_11.Cells(S_To行, S_To列)) = "A"

Debug.Print “DBG検証” & vbCrLf & _
“S_Cell個数= ” & S_Cell個数 & vbCrLf & _
“——————–” & vbCrLf & _
“S_Fr行= ” & S_Fr行 & vbCrLf & _
“S_Fr列= ” & S_Fr列 & vbCrLf & _
“S_To行= ” & S_To行 & vbCrLf & _
“S_To列= ” & S_To列

End Sub

最後の5番目、ですが、始点と終点がわかるので、値の一括セットも簡単ですね。

◆事例として、どんなケースで使うのか

実はけっこう要望が多いのです。

これまでの事例では、「Excelアドイン開発」が多いです。

アドインのメリットとして、「シート名やシート数など関係なく」ユーザが選択したシートの任意のデータ範囲にのみ、入力値の妥当性チェックをしたい、また、調べたい範囲に規則性はなく、ユーザによってまちまちなので、自由にデータ範囲を指定したい。


ついでに、任意に選択したデータ範囲に対して、連続した数字や日付、ランダムな値をテストデータとして出力したい、など。


こうなると、コストパフォーマンスからして、ExcelVBAは優位性を発揮する開発言語という感じですね。

そして、自由度が高く、できることを理解いただくと、いろんな要望があがるのが特徴です。

今回のテーマは、「任意のデータ範囲に対してできること」について、解説を行いました。

本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。


Excel業務改善事例ショート動画

文章だけでは伝わりにくい改善事例を、ショート動画でご覧いただけます。

◆よくある質問 ◆Excel業務改善の実例 ◆VBA・マクロ活用事例

相見積もり歓迎

小さなツールなら、Excelで費用を抑えて作れます

  • データ変換ツールは8万円〜が目安
  • 入力フォーム付きの簡易システムは30万円〜
  • Excelに向かない要件は正直にお伝えします

選択範囲のチェックのような小さなツールは、Excelなら費用を抑えて作れます。参考価格はデータ変換8万円〜、入力フォーム付きの簡易システム30万円〜(税別・基本料金込み)です。相見積もりも歓迎です。Excelに向かない場合は正直にお伝えします。

\Excel専門特化 × 低価格 × スピード対応/

無料見積もり・お問い合わせはこちら

全国対応・お見積もり無料

Excel業務改善事例ショート動画よくある質問など公開中

関連記事

Excelシステム開発

Excelを複数人で共同編集できるExcel for the webとは?Excelオンラインの共有手順と業務改善事例

更新日:2026年9月25日

Excelシステム開発

システム開発の依頼ガイド|費用相場・流れ・会社の選び方と「作りすぎない」判断軸

更新日:2026年9月24日

Excelシステム開発

予約システムの開発依頼にかかる費用相場|小規模店舗は100万円以下で作れる

更新日:2026年9月24日

Excelシステム開発

CRMシステム開発の外注費用は?依頼先の選び方と100万円以下に抑える考え方

更新日:2026年9月24日

Excelシステム開発

勤怠管理システム開発の外注費用相場|100万円以下で作る方法とプラン別料金【2026年版】

更新日:2026年9月24日

Excelシステム開発

SFAシステム開発の依頼相場は?高額SaaSに払い続ける前に知るべき「安く作る」現実解

更新日:2026年9月24日

Excelシステム開発

業務システム開発の依頼はいくら?費用相場と「100万円以下」で頼む方法

更新日:2026年9月24日

Excelシステム開発

受発注システム開発の費用相場は?外注料金の内訳と安く抑える方法を解説

更新日:2026年9月24日

Excelシステム開発

販売管理はエクセルで十分?売上管理表・発注管理表の作り方と「限界」の乗り越え方

更新日:2026年9月5日

newsite