[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オートシェイプの自動貼り付け・削除』(とも)
はじめまして、いろんな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.