シートを操作してみようシートの操作方法を学びます。
■ この章で学ぶこと |
以下のコードを記入して、実行してみてください。
Sub シート追加() Dim i As Integer For i = 1 To 3 Worksheets.Add Next End Sub |
シートの指定方法には様々なものがあります。
Woksheets("Sheet1")なんかは代表的な表現の仕方ですが、
これではシート名が不明の場合は使えません。
Worksheets(1)は、1枚目のシートという意味です。
ここで注意する必要があるのは、変数等色々な面で
0から始まるにもかかわらず、シートは1から始まるという点です。
これを使ってサンプルコードを作りましたので見てください。
Sub シート関係()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim Ws3 As Worksheet
Set Ws1 = Worksheets(1)
Set Ws2 = Worksheets(2)
Ws1.Range("A1") = 1000
Ws2.Range("A1") = 2000
Worksheets.Add after:=Ws2, Count:=1
Set Ws3 = Worksheets(3)
Ws3.Range("A1").Value = Ws1.Range("A1").Value + Ws2.Range("A1").Value
Application.DisplayAlerts = False
Ws1.Delete
Ws2.Delete
Application.DisplayAlerts = True
End Sub
|
Dim Ws1 As Worksheet
変数Ws1をワークシートの名前だよという定義です。
(変数を宣言しようを参照ください)
Set Ws1 = Worksheets(1)
先程宣言したWs1がシートの1番目ですと設定しています。Setとは
その類の命令で時になくてもいい場合があるそうです(ここの部分は
私もよく解析できていません)
Worksheets.Add after:=Ws2, Count:=1
シートを挿入する命令です。Ws2の後ろに1枚入れてくださいという意味になります。
前に挿入したければAfterの代わりにBeforeにします。
Application.DisplayAlerts = False(True)
この章とはあまり関係がありませんが、シートを削除する際に
『本当に削除してよろしいですか?』の類のメッセージが出てきます。
マクロで実行している時にいちいち出てくるとうっとおしいだけですから
消したいですよね。Falseが消す、Trueにすると出てきます。
色々試してみてください