データの入っている表を一括で選択する方法2(Excel VBA)

【本日のミッション】

データが続いて入力されていない表を、Excel VBAで一気に選択せよ。(複数行コード)

ミッションの概要

先日、データの入っている表を一括で選択する方法1(Excel VBA)にて、一括選択できなかったこちらの表。

データの入っている表を一括で選択する方法2(Excel VBA)

こういう表を選択する方法を考えます。

実業務で出てくる表は、縦の行数、横の列数が固定されている場合って少ないんですよね。

データは、どんどん増えますし、ちょっと業務の内容が変わると項目も増減しますよね。

なので、処理時に最終行番号と最終列番号を取得し、表を選択します。

■■■スポンサーリンク■■■

ファイルの準備とプロシージャ

このシートをアクティブにした状態で、Alt+F11でVsual Basic Editerを起動します。

[挿入]-[標準モジュール]で新規モジュールを作成し、下記の通りコードを記入します。

データの入っている表を一括で選択する方法2(Excel VBA)

Sub 表を一括選択2()
    '【変数】
    Dim e_row As Long '最終行
    Dim e_col As Long '最終列

    '■変数セット
    'セルB1048576からCtrl+↑の行番号を変数「e_row」へセット
    e_row = Cells(Rows.Count, 2).End(xlUp).Row

    'セルXFD3からCtrl+←の列番号を変数「e_col」へセット
    e_col = Cells(3, Columns.Count).End(xlToLeft).Column

    '■表を選択
    Range(Range("B3"), Cells(e_row, e_col)).Select

End Sub

記入したプロシージャのどこかにカーソルを置いてF5キーをクリックすると、この通り。表がきちんと選択できました。

データの入っている表を一括で選択する方法2(Excel VBA)

最終行・最終列の取得

最終行・最終列の取得には、「Endプロパティ」を使用します。

Rangeオブジェクト.End(方向)
方向内容キーボード操作
xlUp上方向Ctrl+↑
xlDown下方向Ctrl+↓
xlToLeft左方向Ctrl+←
xlToRight右方法Ctrl+→

e_row =Cells(Rows.Count, 2).End(xlUp).Row

Cells(Rows.Count, 2)→「セルB1048576」のことです。
「セルB1048576」からCtrl+↑をすると「セルB13」を選択しますよね。

その「セルB13」の行番号「13」を変数e_rowに入れています。

e_col = Cells(3, Columns.Count).End(xlToLeft).Column

Cells(3, Columns.Count)→セル「XFD3」のことです。

「XFD3」からCtrl+←をすると「セルE3」を選択しますよね。

その「セルE3」の列番号「5」を変数e_colに入れています。

列番号「5」はA→B→C→D→E 5番目の列ということです。

データの入っている表を一括で選択する方法2(Excel VBA)

表の最終セルの指定

これらのe_rowとe_colを使って

Cells(e_row, e_col)

とすることで、「セルE13」を指定することができます。

Range(Range(“B3”), Cells(e_row, e_col)).Select

あとは表の左上の「セルB3」から表の右下の「セルE13」で表を選択することができます。

参照

「数字が文字列として保存されています。」を一括で数字に変換
データ範囲が増減しても参照先が自動で変動する「名前の管理」の設定(Excel)
連動するドロップダウンリストを名前の管理・入力規制・OFFSETを使って「リストが表示されない」を解決(Excel)
Excel 複数セル内の改行(Alt+Enter)を一括で解除する方法
Excel関数を使って 縦の表に連動した(リンクした)横の表を一括で作成せよ
ワイルドカードとは。使い方いろいろ。(Excel)
Excelの改ページの点線を消す方法
Excelの背景にある薄グレーの枠線(罫線)を消す(非表示)方法
非表示になってしまった列を表示させる方法
ファイルを開くと空の画面も同時に開くのを解決(Excel)
図 画像 グラフ ボタン などのオブジェクトが消えてしまった時の表示方法(Excel)
大量の画像やグラフ等のオブジェクトで画面表示が遅いのを解決(Excel)
保護されたシートに対して、このコマンドは使用できません。テーマが変えられない現象を解決(Excel)
離れた複数列をまとめて列番号(数字)で選択する方法(Excel VBA)
Excel VBA で選択した複数のセルにデータ・数式を(Ctrl+Enter のように)一気に入力する方法

■■■スポンサーリンク■■■