- 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
にしないといけない。
|