[[20040401144900]] 『オートシェイプの自動貼り付け・削除』(とも) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートシェイプの自動貼り付け・削除』(とも)

 はじめまして、いろんなHPを見て回っていてもあまり取り上げられていないオートシェイプのことなのですが・・・
その1・その2・その3
という、3つの項目があるときにその文字の上に丸をつけて選択の意思を表示させたいのですが
オートシェイプであれば毎回手動による方法しかないのかなと疑問に思い
これを自動化、もしくは半自動化できないものかと思い
質問させていただきたいと思います。
よろしくお願いします。
[エクセルのバージョン:Excel2000][OSのバージョン:Windows2000orXP]

 その1・その2・その3 (←セルですよね? C5  E5  G5 とする)
 の上に「だ円」を配置して、
 図形の名前を その1 、その2 、その3 とする。(名前ボックスで定義する。)

 1.ALT+F11キーで、VBEを起動
 2.プロジェクトウィンドウのSheet1 を Wクリック
 3.中央の真っ白なウィンドウ(コードウィンドウ)に以下のコードをコピペ

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

   Select Case Target.Address(False, False)
    Case "C5"
        Call sample("その1")
        Cancel = True
    Case "E5"
        Call sample("その2")
        Cancel = True
    Case "G5"
        Call sample("その3")
        Cancel = True
    End Select
 End Sub

 Sub sample(ByVal shp As String)
 With ActiveSheet.Shapes(shp)
    If .Visible = False Then
        .Visible = True
    Else
        .Visible = False
    End If
 End With
 End Sub

 ダブルクリックで、図形を表示・非表示します。 

   (INA)

 INAさんの方法と似ていますが,
オートシェイプをクリックさせて線の表示非表示を切り替えます。
 
オートシェイプを配置
オートシェイプを右クリック、「マクロの登録」を選択
マクロの登録ダイアログボックスで「新規」を選択
 
 Sub 楕円1_Click()

 End Sub
 
のように表示されるので、次のように編集します。
 
 Sub 楕円1_Click()
 Dim MYRANGE  As Range
 Set MYRANGE = Selection
     ActiveSheet.Shapes("Oval 1").Select
     With Selection.ShapeRange.Line
         .Visible = Not .Visible
     End With
     MYRANGE.Select
 End Sub
 
同様に2つめ、みっつめのオートシェイプについても
下記のようにマクロを登録します。
 
 Sub 楕円2_Click()
 Dim MYRANGE  As Range
 Set MYRANGE = Selection
     ActiveSheet.Shapes("Oval 2").Select
     With Selection.ShapeRange.Line
         .Visible = Not .Visible
     End With
     MYRANGE.Select
 End Sub

 Sub 楕円3_Click()
 Dim MYRANGE  As Range
 Set MYRANGE = Selection
     ActiveSheet.Shapes("Oval 3").Select
     With Selection.ShapeRange.Line
         .Visible = Not .Visible
     End With
     MYRANGE.Select
 End Sub
 
(KAMIYA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.