エクセル VBA自分用チートシート

使う必要があったので使いそうな部分だけまとめてみます。

まず制御文

if文

If 条件式1 Then

     条件式1の処理

ElseIf 条件式2 Then

     条件式2の処理

Else

      以上の条件を満たさなかったときの処理

End If

 

なんだこの書き方・・・。pythonのシンプルさと比べるとちょっと嫌な感じ・・・。

If 条件式 Then

 処理

End If

 

うおおお変な感じ~・・・。

 

論理式

=

<

<=

>

>=

<>等しくない。この書き方独特。If 変数 <> 4 Then

条件式A And 条件式B

条件式A Or 条件式B

Not 条件式

VBって頭文字だけ大文字なんやね

case文ってあんまり使わないなー。

For文

For カウンタ変数 =初期値 To 繰り返し回数

   処理

Next

 

For i = 1 To 10

  処理

Next

ネクストってなんや・・・。

While文

Do While i <5

  処理

Loop

関数を抜ける

Exit Do

Exit For

Exit Function

Exit Property

Exit SUb

など

こんくらいか

次関数

プロシージャは処理単位のことらしい。SubプロシージャとFunctionプロシージャがあるとのこと。

Functionは必ず戻り値を返し、Subは戻り値を返さない。引数はSub,Functionとも取る。

変数

Dim value

value = 111

データ型

データ型ってなんで指定する必要あるんだろう?全部Variantってのでやってくれればいいやん。

使いそうなの。Integer,Double,String,Object,Booleanぐらいか。

算術式

\は除算の商、Modは除算の余り、^は使えてべき乗。

ステートメント

Private,Publicがある。他のモジュールから呼びだせるかどうか。変数につけると他のモジュールから呼び出せる。普通の宣言やprivateをつけるとそのプロシージャ内だけ。要するにpublicをつけないかぎり自動的にそのプロシージャ以下の範囲に限定される。

配列

Dim array(10) As String 

 

array(0)="あいうえお"

array(1)="かきくけこ"

 

用語まとめ

オブジェクト:エクセルのビジュアル的な要素。ワークブック、ワークシート、セルなど。階層構造。

プロパティ:オブジェクトを操作するための設定。変数を直接代入したりする。

メソッド:オブジェクトに対する動的な操作をしたいときの書き方。

 

だあああああだるくなってきた。。。

次セル~・・・。

代入

シートなし

Range("B2").Value="TEST"

Cells(2,2).Value="TEST"

シートをアクティブにする

Worksheets("シート名").Activate

Worksheets("Sheet2").Range("B2").Value="TEST"

どうでもいいがdellの付属キーボードめちゃくちゃ打ちにくい。

ほかセルのプロパティ

Range("A1").RowHeight=10

Range("A1").ColumnWidth=10

Rowが横(行)、Columnが縦(列)。

同じオブジェクトにセットする場合以下のように括れる。

With Worksheets("sheet1")

   .Activate

   .Range("A1").Value="Test"

End With

範囲指定

Range("A1","F15").Value="Tes"

もしくは

Range("A1:F15").Value="Tes"

 

つづきは次回