解決済みの質問

質問No.4323402
暇なときにでも
暇なときにでも
お気に入り投稿に追加する (1人が追加しました)
回答数4
閲覧数1476
Excelユーザー定義関数が書き込まれているセルアドレス
Excelのユーザー定義関数で、自分自身が書き込まれているセルのアドレスって取得出来るのでしょうか?
例えば、
Function test(MyString As String) As String
test = "入力された文字は、「" & MyString & "」です"
End Function
とユーザー定義関数を作り
A1のセルに =test("てすと") と書くと
入力された文字は、「てすと」ですと出てきます。
そこで、ユーザー定義関数のなかで、ユーザー定義関数を呼び出した式が入力されている(上記の例ですと、「A1」)アドレスを取得する方法ってありますか?
どなたか、詳しい方いらっしゃいましたら教えてください。
投稿日時 - 2008-09-12 15:30:04

質問者が選んだベストアンサー

回答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

ご参考まで。
投稿日時 - 2008-09-12 22:22:57
この回答を支持する
(現在1人が支持しています)
この質問は役に立ちましたか?
10人が「このQ&Aが役に立った」と投票しています

ベストアンサー以外の回答 (3)

回答No.4
こんな関数どういう使い道に使うのですか。回答者を煩わし質問する以上説明が必要と思うが。
エクセル関数で=CELL("address")というのもあるが、これなど質問と関係ある(使えない)かな。
投稿日時 - 2008-09-13 22:24:14
この回答を支持する
(現在0人が支持しています)
回答No.2
セルにセル位置を表示したいだけなのでしょうか?
それでしたらユーザ定義関数よりもセル式の方が良いと思いますが?

="入力されたセルは、「R"& ROW() &"C" & COLUMN() &"」です"
投稿日時 - 2008-09-12 20:26:48
この回答を支持する
(現在0人が支持しています)
回答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
投稿日時 - 2008-09-12 16:03:05
この回答を支持する
(現在0人が支持しています)
補足
早速の回答有り難うございます
試してみたのですが、確かに数式をセルに入れて、Enterキーを押すとセルのアドレスが表示されますが、式をコピーすると上手く機能しません。あと、再計算ボタンを押してみたのですが、やはり、セルがアクティブになっていないので、上手く機能しません。
何か?上手い方法ってありますか?
投稿日時 - 2008-09-12 16:25:20
別のキーワードで再検索する
もっと聞いてみる

関連するQ&A

回答募集中

この他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する
-PR-

OKWaveのおすすめ情報

特集

同じカテゴリの人気Q&Aランキング

-PR-

ピックアップ

ノウハウ共有サイト

-PR-
-PR-