
ExcelVBA Environで現在 Windows にログインしているユーザー名を取得して、使用する方法を解説します。使い方や注意点など、サンプルコードをもとに具体的に解説します。
2025年の目標は繰り返し作業に悩まされない年にしませんか? Excel VBAを活用した効率化がその第一歩
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事
目次
Excel VBA Environでログインユーザーを取得するシーン
以下のシーンで利用します。
1.ユーザーごとに設定を変更する(例:担当者ごとの入力制限)
2.操作履歴を記録する(ログインユーザー名と日時を記録)
3.セキュリティ対策(特定のユーザーのみ処理を実行可能にする)
Excel VBAEnvironでログインユーザーを取得する使い方
Environ("USERNAME") を使うことで、簡単に Windows のログインユーザー名を取得できます。
Excel VBA Environでログインユーザーを取得する注意点
・Environ("USERNAME") は環境変数から取得するため、正確なユーザー名を取得できるが、システムの設定によって影響を受ける可能性がある。
・Environ は OS の環境変数を参照するため、他の環境変数も取得可能(例: Environ("USERDOMAIN") でドメイン名取得)
Excel VBA Environでログインユーザーを取得するサンプルコード
Excel VBAで効率化の準備をしてみませんか?2025年をよりスムーズに過ごすための資格
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事
標準モジュール(ログインユーザー名を表示)
Option Explicit
Sub GetLoginUserName()
Dim userName As String
userName = Environ("USERNAME")
' ユーザー名をメッセージボックスで表示
MsgBox "ログインユーザー名: " & userName, vbInformation, "ユーザー情報"
End Sub
フォームモジュール(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 セルにログインユーザー名が表示されます。
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で自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。