0
0

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 1 year has passed since last update.

Excel VBAでよく確認することのメモ

Last updated at Posted at 2022-08-06

Excel VBAについて、よく確認することをまとめた記事です。

配列の宣言とFor Nextステートメント

  • 配列の宣言
    • 添字の上限値を指定する(要素数ではない)
  • For Nextステートメント
    • 変数counterとその初期値は省略できない
    • ループ範囲は、初期値0以上~最終値9以下(counter<=9)

コード

Dim counter As Long
Dim lngArray(9) As Long '添字の上限値を指定する

For counter = 0 To 9
    lngArray(counter) = counter
    Debug.Print lngArray(counter); ';を付けると改行なしで出力される
Next counter

実行結果

 0  1  2  3  4  5  6  7  8  9 

C言語との比較

long counter;
long lngArray[10]; /* 要素数を指定する */

for(counter=0 ; counter<=9 ; counter++){
  lngArray[counter] = counter;
  printf(" %d ", lngArray[counter]);
}

2種類の空文字列と既定の初期値

  • 空文字列は2種類ある

    • ""(長さ0の文字列)
    • vbNullString(文字列型の変数の初期値)
  • 空文字列はStrPtr()で区別出来る

    • StrPtr(""):StrPtr()の戻り値はアドレス値となる
    • StrPtr(vbNullString):StrPtr()の戻り値は0となる

変数は自動で初期化される

変数には既定の初期値が定められており、
変数を宣言すると自動で初期化される

初期値
Boolean FALSE
Byte, Integer, Long, Single, Double 0
Currency 0
Data 1899/12/30 00:00:00
Object Nothing
String vbNullString
Variant Empty

エラーをクリアする

  • エラーが発生していない時、Err.Numberは0
    • エラーが発生すると、Err.Numberにエラー番号が格納される
  • Errオブジェクトをクリアする2種類の方法
    • Err.Clearを使う方法
    • On Error Goto -1を使う方法

参考:Err.Clear と On Error GoTo -1 は同じ?!

割り算の演算子

  • 通常の割り算:/
    • 7/2(解答:3.5)
  • 割り算の整数部を求める:\(半角¥マーク)
    • 7\2(解答:3)
  • 割り算の余りを求める:Mod
    • 7Mod2(解答:1)

剰余演算のことを、Modulo(モジュロ)と呼ぶ。
剰余演算 - Wikipedia

Dir()関数の注意点

  • フォルダのパスを指定する場合、定数vbDirectoryの指定が必要
    • ファイルのパスを指定する場合は、省略可能
  • ファイルやパスが見つからない場合、戻り値は""

コード

If Dir("C:\...\folderName", vbDirectory) <> "" Then
    Debug.Print "フォルダは存在します"
End If
0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?