【ハウツー】

ゼロからはじめるVBA - セル操作編

1 特定のセル範囲を指定する.1

    横塚利津子  [2009/06/19]

    前回までの説明で、VBAでマクロを作成し、実行することができるようになりました。今回からは、VBAのプログラムの書き方を勉強して行きたいと思います。前回の例題に出てきたものに、Cellsプロパティがありました。Excelのセルの内容を読み込んだり、セルにデータを設定したりできるものです。表を操作していろいろな作業をするのは、Excel(表計算プログラム)の得意とするところです。今回はExcel表におけるデータの操作に焦点を当てていきたいと思います。

    ゼロからはじめるVBA - 基本編
    ゼロからはじめるVBA - VBA事始め編

    特定のセル範囲を指定する

    前回、セルを指定するための命令として、Cellsプロパティを紹介しました。セルを操作するために、まずは操作対象のセルを選択しておく必要があります。他に特定の範囲を指定するためのプロパティとしては、Rangeプロパティ、Rowsプロパティ、Columnsプロパティがあります。

    また、セルの指定は現在アクティブになっているシートに対して行われます。他のシートのセルを扱うときは、Worksheets、Sheetsプロパティで扱いたいシートをアクティブにしてからセルを指定する必要があります。

    以下では、これらのプロパティについて説明していきます。

    シートを選択する方法

    シートを設定する方法を説明します

    [リスト1]シートの設定方法

    Sheets("Sheet1").Select    '(1)
    Worksheets("Sheet1").Activate   '(2)
    

    (1)(2)どちらもSheet1をアクティブにする指定です。どちらを使用してもかまいません。具体的にセルを指定する前に書きます。次に、セルの指定を説明します。

    以下説明するリストはsample.lzhの中に「セル操作編例題.xlsm」「素材別カロリー表.xlsm」「他のBook.xlsx」として収録しています。サンプルとしてご活用ください。

    Rangeプロパティ

    セルを指定するプロパティです。

    (1)1つのセルを指定

    以下は、2行C列を指定します。

    [リスト2]range_01サブルーチン(セル操作編例題.xlsm)

    Sub range_01()
        Sheets("Sheet1").Select
        Range("C2").Select
    End Sub
    

    図1:一つのセルを指定

    (2)複数のセルを指定

    以下は、1行A列と3行C列を指定します。

    [リスト3]range_02サブルーチン(セル操作編例題.xlsm)

    Sub range_02()
        Sheets("Sheet1").Select
        Range("A1,C3").Select
    End Sub
    

    図2:複数のセルを指定

    (3)ある範囲を指定

    以下は、1行A列から3行C列を範囲指定します。

    [リスト4]range_03サブルーチン(セル操作編例題.xlsm)

    Sub range_03()
        Sheets("Sheet1").Select
        Range("A1:C3").Select
    End Sub
    

    図3:セルの範囲を指定

    Cellsプロパティ

    セルを指定するプロパティです。

    (1)一つのセルを指定

    以下は2行C列を指定します。結果は、図1と同じです

    [リスト5]Cells_01サブルーチン(セル操作編例題.xlsm)

    Sub cells_01()
        Sheets("Sheet1").Select
        Cells(2, 3).Select
    End Sub
    

    (2)ある範囲を指定

    以下は1行A列から3行C列を範囲指定します。Cellsプロパティはあくまでひとつのセルの指定するものですので、範囲指定したい場合はRangeプロパティと併用します。結果は、図3と同じです。

    [リスト6]Cells_02サブルーチン(セル操作編例題.xlsm)

    Sub cells_02()
        Sheets("Sheet1").Select
        Range(Cells(1, 1), Cells(3, 3)).Select
    End Sub
    
    関連したタグ

    新着記事

    特設サイトの情報

      人気記事

      一覧

      新着記事

      特別企画

      マイナビニュースマガジン