このページの本文へ

前へ 1 2 3 次へ

「Excel VBA」でプログラム入門 第3回

Excel VBA実践編――基本構文を知る

2009年06月19日 09時00分更新

文● 矢野まど佳、熊谷よし

  • この記事をはてなブックマークに追加
  • 本文印刷

●例1 氏名の隣のセルを選択する

コード Selection.Offset(0, 1).Select
意味 選択しているセルの0行1列を選択する

 メソッドに「Offset(行方向を表す数値、列方向を表す数値)」を使用して、セルの位置を変更します。数値には整数を指定すると、行では下、列では右方向に動きます。逆の方向を指定したい場合には、負の数値を指定。0または未指定だと同位置とすることができます。

 この例では(0、1)としているので、(1) B5セルを選択して(2) ボタンをクリックすると、列右方向に1列移動したC列の同行のセル3 が選択(Select)されます。


●例2 リストの最終行を選択する

コード Range("A1").End(xlDown).Select
意味 A1セルの下方向で、データが入っているところを選択する

 「End」メソッドでは、連続して入力されたリストの最終位置や先頭位置のセルを選択することができます。

 使用できる引数は4種類あり、[xlDown](下方向)、[xlUp](上方向)、[xlLeft](左方向)、[xlRight](右方向)です。ここでは、[xlDown]を引数としているので、A1セルから出発して、入力されている最終行であるA11セルが選択されます。「Select」は選択するという意味のメソッドです。


●例3 新しいワークシートを追加する

コード Worksheets.Add after:=Worksheets("名簿")
意味 「名簿」というワークシートのうしろにワークシートを加える

 「Worksheets」オブジェクトに対して「Add」メソッドを使用すると、新しいワークシートを追加することができます。左の例では、“後”を表わす「After」に「名簿」シートを指定し「名簿」シートの後ろにワークシートを追加しています。

 選択したシートの前に追加したい場合は[Before]引数を、複数枚のシートを追加したい場合は[Count]引数を使用し、「Count:=3」のように枚数を数値で指定します。


●例4 A列のリストをE列にコピーする

コード Range("A2:A10").Copy Destination:=Range("E2")
意味 E2セルにA2セル~A10セルのデータをコピーする

 コピー元範囲に対して「Copy」メソッドを使用し、「Destination」引数にコピー先の先頭セルを指定しています。

 この構文を使うと、列幅を除いた内容をコピーすることができます。例では、A2セルからA10セル範囲に対して、E2セルを引数としてCopyメソッドを実行していますので、内容はE2セルを先頭とした位置に貼り付けられます。

 次回もVBAの基礎構文をマスターしていきます。「オブジェクト.プロパティ構文」による属性変更の手順を、具体例を挙げながら紹介します! お楽しみに。


■参考書籍をAmazon.co.jpで購入

アスキードットPCロゴ

R

http://www.asciidotpc.jp/

本記事は「アスキードットPC 2007年2月号」の特別付録を元に、編集・再構成したものです。




前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ