VBA

【VBA】ログインユーザー名の取得

ログインユーザー名の取得方法のサンプルコードを紹介します!

サンプルコード

Sub Example1()
    Dim user As String
    user = Environ("USERNAME")
    MsgBox user
End Sub

実行結果

【VBA】エラー「型が一致しません」の解決方法

エラーメッセージ「実行時エラー ’13’: 型が一致しません」の原因と解決方法を紹介します!

原因

異なるデータ型の値を代入している。

下記の例だとLong型(数値)にString型(文字列)を代入している。

Sub Example1()
    Dim age As Long
    age = "30歳"
End Sub

解決策

適切なデータ型を代入する。

Sub Example1()
    Dim age As Long
    age = 30
End Sub

【VBA】エラー「オブジェクト変数またはWithブロック変数が設定されていません」の解決方法

エラーメッセージ「実行時エラー ’91’: オブジェクト変数またはWithブロック変数が設定されていません」の原因と解決方法を紹介します!

原因①

Setステートメントがない

Sub Example1()
    Dim rg As Range
    rg = Range("A1:C100")
End Sub

解決策①

Setステートメントを使用し代入

Sub Example1()
    Dim rg As Range
    Set rg = Range("A1:C100")
End Sub

原因②

対象のオブジェクトが空

Sub Example1()
    Dim rg As Range
    Set rg = Nothing
    rg.Clear
End Sub

解決策②

空のオブジェクトは処理しない

Sub Example1()
    Dim rg As Range
    Set rg = Nothing
End Sub

【VBA】エラー「オーバーフローしました」の解決方法

エラーメッセージ「実行時エラー ‘6’: オーバーフロー」の原因と解決方法を紹介します!

原因

Integer型の変数に-32,768~32,767の範囲を超えた値を設定している。

Sub Example1()
    Dim age As Integer
    age = 999999
End Sub

解決策

Long型に型を変更する。

Sub Example1()
    Dim age As Long
    age = 999999
End Sub

【VBA】エラー「変数が定義されていない」の解決方法

エラーメッセージ「コンパイルエラー: 変数が定義されていません」の原因と解決方法を紹介します!

原因

変数を宣言をしていない。

Sub Example1()
    age = 30
End Sub

解決策

変数を代入する前にDimを使って宣言する。

Sub Example1()
    Dim age As Long
    age = 30
End Sub