【効率化】エクセルの結果書でユーザー名の入力ボタンを作成する

excel_auto_signプログラミング
この記事は約3分で読めます。
スポンサーリンク

※当ブログでは商品・サービスのリンク先にプロモーションを含みます。

今回の記事では、ユーザー名をボタンクリックで入力できるようにします
以前の記事の続きです。以前の記事はこちらです。

今回の記事では、勝手に入力されるのではなく、ボタンクリックにより任意のタイミングで入力できるようにします。

前回のやり方では、ユーザーが変わると入力値が勝手に変更されてしまうことがありましたので、今回はそれを避けるべく、ボタンを押すまでは変わらないようにしたいと思います。

やりたいこと

ユーザー名を自動入力するためのボタンを作成する

スポンサーリンク

【手順1】ExcelVBAでユーザー名取得関数を作成する

前回の記事の【手順1】と同じです。まずはユーザー名を取得する関数を作成しましょう。

まず、エクセルを開いた状態で「Alt + F11」を押しましょう。エクセルとは別にウィンドウが開きますので、メニューバーから「挿入→標準モジュール」を選択してください。その後、ウィンドウ右側の空白部分に以下を書きましょう。

Function GetUserName() As String
  GetUserName = Application.UserName
End Function

【手順2】署名入力用の関数を作成する

続いて署名入力用のコードを書いていきます。

【手順1】のEnd Functionの末尾から数回改行して以下のコードを入力してください。

Sub sign()
    Dim name As String
    name = GetUserName()
    Cells(1,1).Value = name
End Sub

これで署名をA1セルにユーザー名を入力する準備が整いました。

【手順3】開発タブでボタンを配置する

注意

開発タブが表示されていない人はこちらの記事を参考に開発タブを表示してください。

「開発」→「挿入」→「ボタン(フォームコントロール)」(フォームコントロール欄左上)をクリックしてください。その後、セル上のボタンを配置したい位置でクリックしてください。

すると「マクロの登録」ウィンドウが開かれますので、先ほど作成したシート名.sign(初期状態ならSheet1.sign)を選択し、OK。

【手順4】ボタンクリックでユーザー名を入力する

表示されたボタンをクリックしてみてください。

・・・っ!
A1セルにユーザー名が表示されただとっ!

あとは先ほど記述したコードのユーザー名を入力したいセルを調整すれば完了です。

補足

今回は割愛しましたが、入力欄が複数ある場合などは条件文などを活用すると一括で入力できるようになります。

コメント

タイトルとURLをコピーしました