Excelのユーザー定義関数で、自分自身が書き込まれているセルのアドレスって取得出来るのでしょうか?
例えば、
Function test(MyString As String) As String
test = "入力された文字は、「" & MyString & "」です"
End Function
とユーザー定義関数を作り
A1のセルに =test("てすと") と書くと
入力された文字は、「てすと」ですと出てきます。
そこで、ユーザー定義関数のなかで、ユーザー定義関数を呼び出した式が入力されている(上記の例ですと、「A1」)アドレスを取得する方法ってありますか?
どなたか、詳しい方いらっしゃいましたら教えてください。
No.3ベストアンサー
- 回答日時:
そのユーザー定義関数が入力されているセルを…
●ThisCellプロパティで取得する
Function test()
MyString = Application.ThisCell.Address(False, False, xlA1)
test = "入力されているセルは、" & MyString & "です"
End Function
●Callerプロパティで取得する
Function test2()
MyString = Application.Caller.Address(False, False, xlA1)
test2 = "入力されているセルは、" & MyString & "です"
End Function
ご参考まで。
No.4
- 回答日時:
こんな関数どういう使い道に使うのですか。
回答者を煩わし質問する以上説明が必要と思うが。エクセル関数で=CELL("address")というのもあるが、これなど質問と関係ある(使えない)かな。
No.2
- 回答日時:
セルにセル位置を表示したいだけなのでしょうか?
それでしたらユーザ定義関数よりもセル式の方が良いと思いますが?
="入力されたセルは、「R"& ROW() &"C" & COLUMN() &"」です"
No.1
- 回答日時:
R1C1形式 でもいいですか?
Function test(MyString As String) As String
Dim nRow, nCol As Integer
nRow = Application.ActiveCell.Row
nCol = Application.ActiveCell.Column
test = "入力されたセルは、「R" & nRow & "C" & nCol & "」です"
End Function
この回答への補足
早速の回答有り難うございます
試してみたのですが、確かに数式をセルに入れて、Enterキーを押すとセルのアドレスが表示されますが、式をコピーすると上手く機能しません。あと、再計算ボタンを押してみたのですが、やはり、セルがアクティブになっていないので、上手く機能しません。
何か?上手い方法ってありますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) ユーザー関数の自動計算(excel2003) 1 2023/02/06 06:46
- Excel(エクセル) エクセル 単位を付けたい 1 2022/08/17 23:19
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) 条件付き書式を使ってユーザー定義。「数字のみ」も「数字+アルファベット」も認識させたい。 2 2022/05/28 07:22
- Excel(エクセル) 【 Excel 】映画を見る時間を分割して見るのに、Excel で目安を付けたいのです。 2 2022/10/20 19:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
参照先セルに値が入っていない...
-
Excelで同じセルに箇条書きをし...
-
IF関数で0より大きい数値が入力...
-
値を入力後、自動的にアクティ...
-
エクセルで既に入力してある文...
-
yyyy/mm/ddからyyyy/mmへの変換
-
エクセルで複数の条件で掛け算...
-
エクセルで時間の判定をしてい...
-
Excel:文字と数字の組合せ、次...
-
エクセルの数式で計算結果に文...
-
空白でないセルの値を返す方法...
-
Excelでセルに入力されたカラー...
-
エクセルで、特定のセルの内容...
-
マイナス同士の前年比
-
【エクセル】指定したセルに入...
-
Excel 分数の分子を小数点で表...
-
エクセルで10分ごとの時刻の...
-
Excel書式設定が24時間以上の設...
-
EXCELのセル上のURLを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
-
Excel:文字と数字の組合せ、次...
-
空白でないセルの値を返す方法...
-
値を入力後、自動的にアクティ...
-
エクセルで時間の判定をしてい...
-
yyyy/mm/ddからyyyy/mmへの変換
-
Excelでセルに入力されたカラー...
-
エクセルの数式がかぶって、選...
-
エクセルで、特定のセルの内容...
-
エクセルで複数の条件で掛け算...
-
マイナス同士の前年比
-
入力したところまでを自動的に...
-
EXCELのセル上のURLを...
-
excel 関数にて文字を0として認...
-
バーコードが読み取れない原因...
-
ExcelVBAでセルを編集状態にす...
おすすめ情報