PC名(コンピューター名)の取得方法のサンプルコードを紹介します!
Environ(“COMPUTERNAME”)で取得します。
サンプルコード
Sub Example1()
Dim pc As String
pc = Environ("COMPUTERNAME")
MsgBox pc
End Sub
PC名(コンピューター名)の取得方法のサンプルコードを紹介します!
Environ(“COMPUTERNAME”)で取得します。
Sub Example1()
Dim pc As String
pc = Environ("COMPUTERNAME")
MsgBox pc
End Sub
エラーメッセージ「実行時エラー ‘9’: インデックスが有効範囲にありません」の原因と解決方法を紹介します!
存在しないシート名orシート名が間違っているか、シートのインデックスが無効な範囲外にアクセスしようとしたときに発生します。
Sub Example1()
Dim ws As Worksheet
'存在しないシート名を設定
Set ws = ThisWorkbook.Sheets("Sheet2")
'インデックスが無効な範囲外
Set ws = ThisWorkbook.Sheets(2)
End Sub
シート名、インデックスを正しい値に修正する。
Sub Example1()
Dim ws As Worksheet
'存在するシート名を設定
Set ws = ThisWorkbook.Sheets("Sheet1")
'インデックスが有効な範囲
Set ws = ThisWorkbook.Sheets(1)
End Sub
いくつか方法はありますが、今回紹介するのは途中で空白セルがあっても最終行を取得できる方法です。
A列の最下行を取得します。
Sub GetLastRow()
Dim lastRow As Long
' A列の最終行を取得
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox lastRow
End Sub
数値を文字列に変換する方法を紹介します。
「CStr(数値)」で文字列に変換できます。
Sub Example1()
Dim text As String
text = CStr(123)
MsgBox text
End Sub
Str(数値)でも文字列に変換できますが、正の数値の場合、先頭に空白文字が追加されるので使い勝手はCStrが良いと思ます。
Sub Example1()
Debug.Print Str(123)
Debug.Print CStr(123)
End Sub
ブックのパスを取得する方法を紹介します。
「ThisWorkbook.path」でフォルダパス、「ThisWorkbook.FullName」でフルパスを取得できます。
Sub Example1()
Dim path As String
path = ThisWorkbook.path
MsgBox path
End Sub
Sub Example1()
Dim path As String
path = ThisWorkbook.FullName
MsgBox path
End Sub
ログインユーザー名の取得方法のサンプルコードを紹介します!
Environ(“USERNAME”)で取得できます。
Sub Example1()
Dim user As String
user = Environ("USERNAME")
MsgBox user
End Sub
エラーメッセージ「実行時エラー ’13’: 型が一致しません」の原因と解決方法を紹介します!
異なるデータ型の値を代入している。
下記の例だとLong型(数値)にString型(文字列)を代入している。
Sub Example1()
Dim age As Long
age = "30歳"
End Sub
適切なデータ型を代入する。
Sub Example1()
Dim age As Long
age = 30
End Sub
エラーメッセージ「実行時エラー ’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
エラーメッセージ「実行時エラー ‘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
エラーメッセージ「コンパイルエラー: 変数が定義されていません」の原因と解決方法を紹介します!
変数を宣言をしていない。
Sub Example1()
age = 30
End Sub
変数を代入する前にDimを使って宣言する。
Sub Example1()
Dim age As Long
age = 30
End Sub