0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Excel VBAコース第9回内容

Posted at

全12回 Excel VBAコースの第9回の内容です。

オブジェクト

オブジェクトとはブックやシート、セルなどVBAから操作可能な「もの」のことです。
オブジェクトにはプロパティとメソッドと呼ばれるものが備わっています。

プロパティ:オブジェクトの情報を取得・設定する
メソッド:オブジェクトに命令を与える

'オブジェクト.プロパティの例
Cells(1,1).Value

'オブジェクト.メソッドの例
Cells(1,1).Clear

カタカナが分かりにくい人は、「もの.属性」「もの.操作」というイメージで覚えてください。

コレクション

複数のオブジェクトの集合体をコレクションと呼びます。
コレクションにもプロパティとメソッドが備わっています。
コレクションは頂点をApplicationオブジェクトとする階層構造になっています。

【コレクションの階層構造】
  Application
     ┗ Workbooks
        ┗ Worksheets
           ┗ Cells
           ┗ Range
           ┗ Shapes
        ┗ Charts

別のシートから値を取得/別のシートに値を入力する方法

今までセルの値を入力する際に「Cells」や「Range」で書き始めていましたが、
実は、「どのシートのセルなのか」の部分を省略して書いていました。
(省略した場合は、アクティブなシートと暗黙に認識される)

シートを指定したい場合は、Cells等の前にワークシートを記載してあげます。

'インデックス(何番目のシートか)を指定する書き方
Worksheets(1).Cells(1,1).Value = "テスト1"

'シート名を指定する書き方
Worksheets("Sheet1").Cells(2,1).Value = "テスト2"

上記の方法だと、毎回シートを指定しなければならず、コードが見にくくなるので、
下記のように変数にオブジェクトを指定する方法もあります。

Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
ws.Cells(3,1).Value = "テスト3"

シートの追加/削除

Worksheetオブジェクトのプロパティやメソッドを使用して、色々な操作ができます。

'シートを追加して、シート名を変更する
Worksheets.Add
ActiveSheet.Name = "追加シート"

'シートを削除する
Worksheets("追加シート").Delete
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?