advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 1039 for オートシェイプ (0.001 sec.)
[[20081127140304]]
#score: 6703
@digest: 4c83be9c12d2265697c3fc1f09544f06
@id: 41046
@mdate: 2008-11-28T04:58:43Z
@size: 3231
@type: text/plain
#keywords: イ↓ (6676), rectangle (6532), chisa (6055), シェ (4967), トシ (4795), ェイ (4679), イプ (3466), textbox3 (2542), 備完 (2502), 法的 (2496), selectionchange (2376), shapes (2205), textbox2 (1980), ーフ (1723), オー (1649), shp (1628), りダ (1562), 文法 (1536), userform1 (1314), textbox1 (1238), 登録 (995), ォー (915), ユー (863), メだ (842), ーザ (841), ichinose (826), ザー (821), ーム (809), ゴメ (743), 実現 (742), フォ (703), activesheet (689)
オートシェイプをマクロで』(CHISA)
最近、オートシェイプの質問ばかりしつこくてゴメンナサイ↓ オートシェイプの位置をユーザーフォームに表示させたくて、 Sheet1のモジュールにコードを作りました。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) With UserForm1 .Show (0) .TextBox1 = ActiveSheet.Shapes("Rectangle 1").Top .TextBox2 = ActiveSheet.Shapes("Rectangle 1").Left .TextBox3 = ActiveSheet.Shapes("Rectangle 1").Width End With End Sub だけどこのコードだと、ワークシートを触らないと値が更新されません。 (当たり前ですが・・・) Private Sub Worksheet_SelectionChange(ByVal Target As Range) の Worksheetの部分を Shapes に変えて、 Private Sub Shapes_SelectionChange(ByVal Target As Range)にしてみたんですけど やっぱりダメだったみたいで・・・ ワークシートじゃなくて、オートシェイプを動かしたときに ユーザーフォームが表示されて、値も表示・更新させるにはどうしたらいいですか? どなたか教えてくださいm(__)m (CHISA) ---- >Private Sub Shapes_SelectionChange(ByVal Target As Range)にしてみたんですけど >やっぱりダメだったみたいで・・・ Shapeオブジェクトに公開されているイベントはありませんので、↑こういう記述が意味を持ちません。 いや、仮にイベントがあったとしても文法的にも間違っているかな?? これを実現するには、作成したオートシェイプに以下のマクロを登録しなければなりません。 新規ブックにて、以下の手順で操作してください。 1 サンプル オートシェイプの作成 まず、適当なシートに問題のオ-トシェイプを作成してください。 (図形は、オートシェイプであれば何でもかまいません) 2 ユーザーフォームの作成 次にVBEにて、CHISAさんのおっしゃるユーザーフォームを作成します。 ユーザーフォーム名 UserForm1 コントロールはテキストボックスを3つ用意します。 TextBox1、TextBox2、TextBox3 3 VBAコードの作成 標準モジュールに以下のコードをコピーしてください。 '=================================================================== Sub sample() Dim shp As Shape If TypeName(Application.Caller) = "String" Then Set shp = ActiveSheet.Shapes(Application.Caller) With UserForm1 .Show vbModeless .TextBox1.Text = shp.Top .TextBox2.Text = shp.Left .TextBox3.Text = shp.Width End With shp.Select Set shp = Nothing End If End Sub 5 オートシェイプにマクロを登録 「1」で作成したオートシェイプを選択してください。 選択した状態で 「右クリック」---「マクロの登録」とクリックしてください。 「マクロの登録」ダイアログが表示されます。 マクロ名一覧に「3」の「sample」が表示されているはずでから、 選択してOKボタンをクリックしてください。 これで準備完了です。 対象となる図形を選択してください。ユーザーフォームが表示され、位置と幅が表示されます。 と、こんな操作を行えば実現できます。 これを本来の仕様にどのように組み込めばよいか? は、全体像が見えていない私には、わかりませんが、 それは、質問者さんが検討してみてください。 ichinose@sampleコード訂正.7:55 ---- ichinoseさんありがとうございます。 マクロの登録を忘れちゃってました。 しかも、どのオートシェイプでも選択できてすごいです! ありがとうございましたm(__)m (CHISA) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200811/20081127140304.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97040 documents and 608054 words.

訪問者:カウンタValid HTML 4.01 Transitional