Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


58830 / 76738 ←次へ | 前へ→

【22631】Re:オートシェイプにマクロを追記したいのでが...
発言  ichinose  - 05/2/24(木) 23:11 -

引用なし
パスワード
   ▼ponpon さん、こんばんは。

>私も作ったのですが、
>一つならうまくいくのですが・・・
>>  Dim shpnm As String
>>  shpnm = Application.Caller
>
>ここの意味を教えてください。ichinose さん お願いします。 
HelpのCallerプロパティに説明があると思いますが、
マクロの対象となるオブジェクトの識別名が取得できます。
これは、呼び出し元によって内容が変わりますから、最初によく確認してみて下さい。

この例だと
msgbox application.caller

なんてコードで確認するとわかると思います。
私は、ユーザー定義関数を作成する時に使用た経験があります。
但し、そのときは、Application.Callerで取得する内容も違っていますが・・・。

標準モジュールに
'===============================================
Function mysheet()
  dim rng as range
  Set rng = Application.Caller
  mysheet = rng.Parent.Name
End Function

として、
どこかのセルに

「=mysheet()」

と指定してみてください。
シート名が表示されます。
コードを見るとわかるかと思いますが、
application.callerでRangeオブジェクトを取得しています。

呼び出し方法によって返されるデータの種類も違うでしょう?
うまく使えばいままで出来なかった事が可能になるかもしれませんよ!!


>
>Sub test()
>
>   With ActiveSheet.Shapes(1).Fill
>   If .ForeColor.SchemeColor = 10 Then
>     .ForeColor.SchemeColor = 9
>   Else
>     .ForeColor.SchemeColor = 10
>   End If
>  End With
>End Sub

0 hits

【22625】オートシェイプにマクロを追記したいのでが... はないきぴーぴー 05/2/24(木) 22:23 質問
【22627】Re:オートシェイプにマクロを追記したいのでが... ichinose 05/2/24(木) 22:40 発言
【22629】Re:オートシェイプにマクロを追記したいのでが... ponpon 05/2/24(木) 22:56 発言
【22631】Re:オートシェイプにマクロを追記したいのでが... ichinose 05/2/24(木) 23:11 発言
【22634】Re:オートシェイプにマクロを追記したいのでが... ponpon 05/2/24(木) 23:48 発言
【22635】Re:オートシェイプにマクロを追記したいのでが... はないきぴーぴー 05/2/25(金) 0:16 お礼
【22637】Re:オートシェイプにマクロを追記したいのでが... ichinose 05/2/25(金) 8:33 発言

58830 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free