Vba: アクティブセル内の範囲を選択する方法
VBA で次のメソッドを使用すると、Excel で現在アクティブなセルからセル範囲を選択できます。
方法 1: アクティブ セルから下位範囲を選択する
SubSelectActiveDown ()
Range(ActiveCell, ActiveCell.End(xlDown)).Select
End Sub
このマクロは、アクティブなセルから列内の最後に使用されたセルまでの範囲を選択します。
方法 2: アクティブ セルから範囲アップを選択する
SubSelectActiveUp ()
Range(ActiveCell, ActiveCell.End(xlUp)).Select
End Sub
このマクロは、アクティブ セルから列内の最初に使用されたセルまでの範囲を選択します。
方法 3: アクティブ セルの右側の範囲を選択する
SubSelectActiveRight ()
Range(ActiveCell, ActiveCell.End(xlToRight)).Select
End Sub
このマクロは、アクティブ セルから同じ行の右側にある最後に使用したセルまでの範囲を選択します。
方法 4: アクティブ セルの左側の範囲を選択する
SubSelectActiveLeft ()
Range(ActiveCell, ActiveCell.End(xlToLeft)).Select
End Sub
このマクロは、アクティブ セルから、同じ行の左側にある最後に使用したセルまでの範囲を選択します。
次の例は、Excel の次のシートで各メソッドを使用する方法を示しています。
例 1: アクティブ セルから下位範囲を選択する
現在セルC3が選択されていると仮定します。
次のマクロを作成して、列内のアクティブ セルから最後に使用したセルまでの範囲を選択できます。
SubSelectActiveDown ()
Range(ActiveCell, ActiveCell.End(xlDown)).Select
End Sub
このマクロを実行すると、次の範囲が自動的に選択されます。
セルC3から列で使用されている最後のセルまでの範囲が選択されていることに注目してください。
例 2: アクティブ セルから上の範囲を選択します
現在セルC3が選択されていると仮定します。
次のマクロを作成して、アクティブ セルから列で使用される最初のセルまでの範囲を選択できます。
SubSelectActiveUp ()
Range(ActiveCell, ActiveCell.End(xlUp)).Select
End Sub
このマクロを実行すると、次の範囲が自動的に選択されます。
セルC3から列で使用されている最初のセルまでの範囲が選択されていることに注目してください。
例 3: アクティブ セルの右側の範囲を選択する
現在セルB2が選択されていると仮定します。
次のマクロを作成して、アクティブ セルから同じ行の右側にある最後に使用したセルまでの範囲を選択できます。
SubSelectActiveRight ()
Range(ActiveCell, ActiveCell.End(xlToRight)).Select
End Sub
このマクロを実行すると、次の範囲が自動的に選択されます。
セルB2から同じ行の右側にある最後に使用したセルまでの範囲が選択されていることに注目してください。
例4: アクティブセルの左側の範囲を選択
現在セルD6が選択されていると仮定します。
次のマクロを作成して、アクティブ セルから同じ行の左側にある最後に使用したセルまでの範囲を選択できます。
SubSelectActiveLeft ()
Range(ActiveCell, ActiveCell.End(xlToLeft)).Select
End Sub
このマクロを実行すると、次の範囲が自動的に選択されます。
セルD6から同じ行の左側にある最後に使用したセルまでの範囲が選択されていることに注目してください。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。