![ExcelVBA【実践】選択したデータを別シートに自動で抽出(転記)するシステム!データベースから必要データのみを出力!【解説】](https://i.ytimg.com/vi/zK3YBcAZQ0g/hqdefault.jpg)
コンテンツ
このwikiHowは、VisualBasicを使用してMicrosoftExcelでデータを選択する方法を説明しています。 VBスクリプトの基本とExcelのより高度な機能の使用に精通している限り、選択スクリプトは非常に簡単です。
ステップに
3の方法1:個々のセルを選択します
- 現在のワークシートでセルを選択します。 VisualBasicでセルE6を選択するとします。これは、次のいずれかのコマンドで実行できます。
ActiveSheet.Cells(6、5).Select
ActiveSheet.Range( "E6")。選択
- 同じブック内の別のワークシートでセルを選択します。 例のセルE6がSheet2というシート上にあるとしましょう。次のいずれかの方法を使用して選択できます。
Application.Goto ActiveWorkbook.Sheets( "Sheet2")。セル(6、5)
Application.Goto(ActiveWorkbook.Sheets( "Sheet2")。Range( "E6"))
- 別のブックのワークシートのセルを選択します。 BOOK2.XLSという名前のブックのSheet1からセルを選択するとします。これらの2つの方法のいずれかが機能するはずです。
Application.Gotoワークブック( "BOOK2.XLS")。シート( "Sheet1")。セル(2,1)
Application.Gotoワークブック( "BOOK2.XLS")。シート( "Sheet1")。範囲( "A2")
- 別のセルに関連するセルを選択します。 VBを使用して、アクティブな(または別の)セルに対する相対的な位置に基づいてセルを選択できます。間違いを避けるために、セルが存在することを確認してください。これは次のように行われます。
- アクティブセルの3行下と4列左のセルを選択します。
ActiveCell.Offset(3、-4).Select
- セルC7の5行下と4列右のセルを選択します。
ActiveSheet.Cells(7、3).Offset(5、4).Select
- アクティブセルの3行下と4列左のセルを選択します。
方法2/3:範囲を選択する
- アクティブなワークシートでセルの範囲を選択します。 現在のワークシートでセルC1:D6を選択するには、次の3つの方法のいずれかを使用します。
ActiveSheet.Range(セル(1、3)、セル(6、4))を選択します。
ActiveSheet.Range( "C1:D6")を選択します。
ActiveSheet.Range( "C1"、 "D6")を選択します。
- 同じワークブック内の別のワークシートからシリーズを選択します。 これらの例の1つを使用して、Sheet3と呼ばれるシート上のセルC3:E11を選択できます。
Application.Goto ActiveWorkbook.Sheets( "Sheet3")。範囲( "C3:E11")
Application.Goto ActiveWorkbook.Sheets( "Sheet3")。範囲( "C3"、 "E11")
- 別のブックのワークシートからセルの範囲を選択します。 どちらの例でも、BOOK2.XLSという名前のブックのSheet1のセルE12:F12を選択する必要があります。
Application.Gotoワークブック( "BOOK2.XLS")。シート( "Sheet1")。範囲( "E12:F12")
Application.Gotoワークブック( "BOOK2.XLS")。シート( "Sheet1")。範囲( "E12"、 "F12")
- 名前付き範囲を選択します。 セルの範囲に名前を割り当てた場合は、手順4〜6と同じ構文を使用しますが、範囲のアドレス(「E12」、「F12」など)を範囲名(「Sales」など)に置き換えます。 )。ここではいくつかの例を示します。
- アクティブなワークシート:
ActiveSheet.Range( "Sales")。選択
- 同じワークブックの他のワークシート:
Application.Goto ActiveWorkbook.Sheets( "Sheet3")。Range( "Sales")
- その他のワークブック:
Application.Gotoワークブック( "BOOK2.XLS")。シート( "Sheet1")。範囲( "販売")
- アクティブなワークシート:
- 名前付き範囲に関連する範囲を選択します。 構文は、言及された範囲の場所と、新しい範囲のサイズを調整するかどうかによって異なります。
- 選択したい範囲がダイと同じサイズの場合 Test5 が呼び出されますが、4行下、3列右にシフトし、次のコードを使用します。
ActiveSheet.Range( "Test5")。オフセット(4、3).Select
- 範囲が同じワークブックのSheet3にある場合は、最初にそのワークシートをアクティブにしてから、次のように範囲を選択してください。
Sheets( "Sheet3")。ActiveSheet.Range( "Test")をアクティブにします。Offset(4、3).Select
- 選択したい範囲がダイと同じサイズの場合 Test5 が呼び出されますが、4行下、3列右にシフトし、次のコードを使用します。
- 範囲を選択し、選択範囲のサイズを変更します。 必要に応じて、選択した範囲のサイズを増やすことができます。範囲を選択したい場合 データベース 次に、サイズを5行増やしたい場合は、次の構文を使用します。
範囲(「データベース」)。SelectSelection.Resize(Selection.Rows.Count + 5、_Selection.Columns.Count).Select
- 2つの名前付きシリーズの和集合を選択します。 重複する名前付き範囲が2つある場合は、VBを使用して、その重複領域(「ユニオン」)内のセルを選択できます。制限は、アクティブなワークシートでのみこれを実行できることです。と呼ばれる範囲 良い と名前の1つ 悪い 選択したい:
Application.Union(Range( "Good")、Range( "Bad"))。選択します。
- 重複する領域ではなく、言及された2つの範囲のサブセットを選択する場合は、 Application.Union 使って Application.Intersect.
方法3/3:「連続」列と「非連続」列のデータを選択します
- このメソッドの例には、このサンプルデータを使用してください。 Microsoftの厚意により、サンプルデータでいっぱいのこのグラフは、例がどのように動作するかを視覚化するのに役立ちます。
A1: 名前 B1: セール C1: 量 A2: B2:€10 C2:5 A3:b B3: C3:10 A4:c B4:€10 C4:5 A5: B5: C5: A6:合計 B6:€20 C6:20 - 連続する列の下部にある最後のセルを選択します。 次の例では、セルA4が選択されています。
ActiveSheet.Range( "A1")。End(xlDown).Select
- 連続するセルの列の下にある最初の空のセルを選択します。 次の例では、上のグラフに基づいてA5を選択します。
ActiveSheet.Range( "A1")。End(xlDown).Offset(1.0).Select
- 列内の連続するセルの範囲を選択します。 次の両方の例では、範囲A1:A4が選択されています。
ActiveSheet.Range( "A1"、ActiveSheet.Range( "a1")。End(xlDown))。を選択します。
ActiveSheet.Range( "A1:"&ActiveSheet.Range( "A1")。End(xlDown).Address).Select
- 列内の連続していないセルの全範囲を選択します。 このメソッドの上部にあるデータテーブルを使用して、次の両方の例でA1:A6を選択します。
ActiveSheet.Range( "A1"、ActiveSheet.Range( "A65536")。End(xlUp))。を選択します。
ActiveSheet.Range( "A1"、ActiveSheet.Range( "A65536")。End(xlUp))。を選択します。
チップ
- アクティブなシートやワークブックが暗示されている場合は、通常、プロパティ「ActiveSheet」および「ActiveWorkbook」を省略できます。