
ExcelVBA Environで現在 Windows にログインしているユーザー名を取得して、使用する方法を解説します。使い方や注意点など、サンプルコードをもとに具体的に解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
目次
Excel VBA Environでログインユーザーを取得するシーン
以下のシーンで利用します。
1.ユーザーごとに設定を変更する(例:担当者ごとの入力制限)
2.操作履歴を記録する(ログインユーザー名と日時を記録)
3.セキュリティ対策(特定のユーザーのみ処理を実行可能にする)
Excel VBAEnvironでログインユーザーを取得する使い方
Environ("USERNAME") を使うことで、簡単に Windows のログインユーザー名を取得できます。
Excel VBA Environでログインユーザーを取得する注意点
・Environ("USERNAME") は環境変数から取得するため、正確なユーザー名を取得できるが、システムの設定によって影響を受ける可能性がある。
・Environ は OS の環境変数を参照するため、他の環境変数も取得可能(例: Environ("USERDOMAIN") でドメイン名取得)
Excel VBA Environでログインユーザーを取得するサンプルコード
Option Explicit
Sub GetLoginUserName()
Dim userName As String
userName = Environ("USERNAME")
' ユーザー名をメッセージボックスで表示
MsgBox "ログインユーザー名: " & userName, vbInformation, "ユーザー情報"
End Sub
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
フォームモジュール(UserForm のラベルに表示)
Option Explicit
Private Sub UserForm_Initialize()
Me.Label1.Caption = "ログインユーザー名: " & Environ("USERNAME")
End Sub
UserForm を開いたときにラベル ( Label1 ) にログインユーザー名が表示されます。
ThisWorkbook (ブックを開いた時にシートに表示)
Option Explicit
Private Sub Workbook_Open()
Sheets("Sheet1").Range("A1").Value = "ログインユーザー: " & Environ("USERNAME")
End Sub
Excel ファイルを開いたときに Sheet1 の A1 セルにログインユーザー名が表示されます。
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
Excel VBA Environでログインユーザーを取得するサンプルコード|応用
標準モジュール(特定のユーザー以外は実行不可にする)
Option Explicit
Sub CheckUser()
Dim userName As String
userName = Environ("USERNAME")
' 許可するユーザー名を指定
If userName <> "YourUserName" Then
MsgBox "このマクロを実行できません。", vbCritical, "アクセス制限"
Exit Sub
End If
' 許可ユーザーのみ実行可能
MsgBox "ようこそ!" & userName, vbInformation, "認証成功"
End Sub
特定のユーザーだけがマクロを実行できるように制御できます。
「どのユーザーが操作したか?」を記録することで、ログ管理や権限管理が可能になります。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。