VBA

Subは、副プログラムの単位

 

 Sub Macro1()     からプログラムが始まり

 End Sub     でプログラムが終わる

 

<VBA用語>

「対象」:オブジェクト

「様子」:プロパティ

「命令」:メソッド

と呼びます。

 

 

Range プロパティ

Range プロパティ

Cells プロパティ

Offset プロパティ

Union メソッド

 

 Cells(2,2).Value="経済学部"

 

セルB2に"経済学部"を代入(=は代入の意)

 

本来はこのように書く

 

 Worksheets(”Sheet1”).Cells(2,2).Value = ”経済学部”

 

 Range(”B2”).Value 

 

のように書くこともできる。

 

Interior プロパティ(セルの色)

このように2パターンの指定方法がある。

 

 Cells(3,1).Interior.Color = RGB(255,0,255)

 Cells(4,1).Interior.ColorIndex = 3

カラーインデックス

Font プロパティ

フォントも同様に2パターンの指定方法がある。

 

 Cells(5,1).Font.Color = RGB(255,255,0)

 Cells(6,1).Font.ColorIndex = 8

 

※カラーインデックスは共通

 

Value プロパティ

Rangeオブジェクトは、プロパティを省略することが許されています。

プロパティを省略するとValueプロパティが指定されたものとみなされます。

 

 Range("A1").Value=100    本来はこちら

 Range("A1")=100     省略形

 

計算結果を値として入力する方法

 Cells(2,3).Value=Cells(2,1).Value*Cells(2,2).Value

 

数式を文字列として代入する方法

 Cells(2,3).Formula="=A2*B2"

 Cells(2,3).Formula="=SUM(C2:C10)"

 Cells(2,3).Formula="=AVERAGE(C2:C10)"

 Cells(2,3).Formula="=COUNTIF($C$2:$C$10,J3)"

 Cells(2,3).Formula="=IF(J3>=90,H3,"")"

  

初期化するためにヌルストリングを代入する

 Range("B6:C10").Value="" : Range("B2:F2").Value="" 

 

Worksheets("Sheet1").Name = "tanaka"

 

  Range("A1:A2").Select  ・・・セルA1~A2を選択して

  Selection.AutoFill Destination:=Range("A1:A10"), Type:=xlFillDefault

             ・・・A10までオートフィル

 

変数と宣言

値を格納する箱を変数(Variable)という。

 

 i = 1 + 4 * 2   i : 7

 

プログラムを実行する直前でどのくらいの領域が必要かを指定する。

元々は、データ型はエラーを発見するために用いられた。

 

宣言したら初期化する。

 

 

Sub Macro100()

    Dim S As Integer, N As Integer

    N = Cells(2,1).Value

    S = N + (N + 1) / 2

    Cells(1,1).Value = S

End Sub

 

時間の計算

¥:割り算

MOD:余り

 

秒数を入力し、何時間何分何秒になるか計算しなさい。