トップページ > プログラム > 2014年04月30日 > Iw0O5ndu

書き込み順位&時間帯一覧

6 位/238 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000002120000005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
829
Excel VBA 質問スレ Part32

書き込みレス一覧

Excel VBA 質問スレ Part32
829 :デフォルトの名無しさん[]:2014/04/30(水) 15:19:07.78 ID:Iw0O5ndu
ユーザ定義関数を作ってセルに自作関数を入れるとき、
そのセルのアドレス、というかrow数、column数を取得するにはどうしたらいいですか?
そのユーザ定義関数を定義するときのコードの中で使いたいんです。

まさか=MYFUNCTION(ROW(),COLUMN())みたいにして渡さないといけない?
Excel VBA 質問スレ Part32
830 :829[]:2014/04/30(水) 15:29:17.91 ID:Iw0O5ndu
おや、ユーザ定義関数では、CellsとかOffsetは使えない?

例えばそのセルの値だけ右に移動した先にあるセルの値を出力する関数を作りたいとき
rowとcolumnで渡して返り値をCells(row,column).Offset(0,Cells(row,column).Value)としても全く動かない。
Excel VBA 質問スレ Part32
832 :デフォルトの名無しさん[]:2014/04/30(水) 16:16:47.04 ID:Iw0O5ndu
>>831
ありがとうございます。

ところでこのコードだけでもものすごく役に立ちありがたいのですが
それよりもさらに知りたいことがあります。

このApplication.ThisCell.Addressというのはどうやって調べたんですか?
こんなマレなコードは本屋で売ってるVBAの本なんかでは絶対に出てこない類のものです。
どうやって調べたのでしょうか?
そしてこのより詳しい機能はどうやって調べますか?

ちょっと調べたらApplication.ThisCell.Offset(x,y)でちゃんと他セルの値も取得できて便利です。
Excel VBA 質問スレ Part32
834 :デフォルトの名無しさん[]:2014/04/30(水) 17:44:03.34 ID:Iw0O5ndu
Application.ThisCellのことが気になって夜も眠れません。
Application.ActiveCellとどこが違うの?

実に不思議なことに
普通のSubプロシージャとかではApplication.ActiveCellしか使えずApplication.ThisCellだとエラー。
逆にユーザ定義関数を書くところではApplication.ThisCellしか使えずApplication.ActiveCellは使えない。
機能的には全く同じものなのに。
不思議ですね。
Excel VBA 質問スレ Part32
835 :デフォルトの名無しさん[]:2014/04/30(水) 17:45:32.67 ID:Iw0O5ndu
range("C"&n&":C"&n+11).select
にしないといけない。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。