Excelで、セルにテキストボックスの値(文字列や数値)を表示する方法です。標準機能ではできないようなので、ユーザー定義関数を活用します。
【Excel】テキストボックスにセルの値をセル参照で表示する方法の逆パターンです。
内容:
アウトプットイメージ
アウトプットイメージは次のとおりで、セルH2に「作成したユーザー定義関数」を用いて「テキストボックス1」という名前の図形から値を抽出しています。
数式の内容:
=テキストボックスの値抽出("テキスト ボックス 1")
なお、数式バーの左側にある [名前] ボックスで、テキストボックスの名前を確認できます。
ユーザー定義関数の作成方法
- Alt キーを押しながら F11 キーで、Visual Basic Editor を開きます。
- [挿入]-[標準モジュール] の順にクリックします。 Visual Basic Editor の右側に新しい標準モジュール ウィンドウが表示されます。
- 次のコードをコピーして標準モジュールに貼り付けます。
Function テキストボックスの値抽出(テキストボックス名 As String) テキストボックスの値抽出 = ActiveSheet.Shapes.Range(Array(テキストボックス名)).TextFrame2.TextRange.Text End Function
なお、モジュールに貼り付け後のイメージは次のとおりです。
ユーザー定義関数の利用方法
ユーザー定義関数のEXCELからの利用方法は、fxのアイコン(関数の挿入)を押して、ユーザー定義を選択すれば利用できます。
他の事例での参考: Excelで正規表現を使うためのユーザー定義関数サンプル
注意点(自動で再計算されません)
このユーザー定義関数は、自動の再計算がされません。
テキストボックスの内容を反映する場合は、Ctrl + Alt + F9 キーを押します。
なお、ユーザー定義関数に
Application.Volatile
を含めても、F9キー等を押さないと自動で再計算されませんでした。
以上、Excelでユーザー定義関数を作成し、セルにテキストボックスの値(文字列や数値)を表示する方法でした。