エクセル 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"
つづきは次回