マクロの使用方法教えてください。



◇-?マクロの使用方法教えてください。-オンプ(2005/09/10-09:08)No.290947
 ┣?!Re:マクロの使用方法教えてくだ...-白茶(2005/09/10-11:34)No.290962
 ┗?!Re:マクロの使用方法教えてくだ...-まっくろ(2005/09/10-13:52)No.290995
  ┗?!?Re:マクロの使用方法教えてくだ...-オンプ(2005/09/10-22:17)No.291127
   ┗?!?!Re:マクロの使用方法教えてく...-まっくろ(2005/09/12-00:11)No.291441
    ┗?!?!!Re:マクロの使用方法教えてく...-オンプ(2005/09/12-07:10)No.291470

▲このページのトップに戻る
290947マクロの使用方法教えてください。オンプ 2005/09/10-09:08

メーカー名:自作PC ショップオリジナル
OS名:WindowsXp Professional
パソコン名:?
--
題名がバグっていたので再度投稿させて頂きます。

エクセルのコントロールツールボックスからチェックマークをよく使っているのですが、
例えば、

 明・大・昭

の様に、チェックマークを付けるのではなく、文字に○を付けたいのです。

チェックマークの様に、明治・大正・昭和 のいずれかにマウスをクリックするだけで
○印がつけれる方法はありますか?

▲このページのトップに戻る
290962Re:マクロの使用方法教えてください。白茶 2005/09/10-11:34

記事番号290947へのコメント
オンプさんは No.290947「マクロの使用方法教えてください。」で書きました。

こんにちは。

※最初にお断り
 私はVBAは詳しくありません。


ワークシート上の「明・大・昭」のそれぞれをクリックすれば、
該当の文字が○で囲まれるようにしたい訳ですよね。

考え方としては、オートシェイプで「塗りつぶしなし」の○を3個作って、
それぞれの文字の上に重ね、
該当する○をクリックしたら、他の2つの○が非表示になる仕掛け
というのが、割と簡単ではないかと思います。

と、言いつつ、私も自分では書けないので、
「マクロの記録」で

「楕円1」をクリックした時に、
「楕円1」の線を「自動」に、
「楕円2」「楕円3」の線を「線なし」に

という操作を、記録させてみました。


Sub 楕円1_Click()

ActiveSheet.Unprotect
ActiveSheet.Shapes.Range("Oval 1").Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)

ActiveSheet.Shapes.Range(Array("Oval 2", "Oval 3")).Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoFalse

ActiveSheet.Protect DrawingObjects:=True, Contents:=False, Scenarios:= _
False

End Sub


「楕円2」「楕円3」についても同様に組み、
「シートの保護」でオブジェクトのみ保護対象にしてみました。

もっとスマートな方法があるのかも知れませんが、
なにぶん、VBAは殆んど使った事が有りません故、
「意見の1つ」としてご参考下さい。


▲このページのトップに戻る
290995Re:マクロの使用方法教えてください。まっくろ 2005/09/10-13:52

記事番号290947へのコメント
大きめのフォントを使って”○”をキャプションにしたラベルを3つ用意
それぞれのコントロール名を、MARU_MEIJI、MARU_TAISYOU、MARU_SHOUWAにして
MARU_SHOUWA以外のVisibleプロパティーをFALSEにする。
小さめのフォントを使って”明治””大正””昭和”をキャプションに
したラベルを3つ用意してそれぞれのコントロール名を、MEIJI、TAISYOU、
SHOUWAにする。
”明治””大正””昭和”を最前面側に移動して、”○”と重ねあわす。

クリックイベントハンドラを次のようにする。

Private Sub MEIJI_Click()
MARU_MEIJI.Visible = TRUE
MARU_TAISYOU.Visible = FALSE
MARU_SHOUWA.Visible = FALSE
End Sub

Private Sub TAISYOU_Click()
MARU_MEIJI.Visible = FALSE
MARU_TAISYOU.Visible = TRUE
MARU_SHOUWA.Visible = FALSE
End Sub

Private Sub SYOUWA_Click()
MARU_MEIJI.Visible = FALSE
MARU_TAISYOU.Visible = FALSE
MARU_SHOUWA.Visible = TRUE
End Sub

▲このページのトップに戻る
291127Re:マクロの使用方法教えてください。オンプ 2005/09/10-22:17

記事番号290995へのコメント
みなさん、どうも詳しくご説明頂きありがとうございました。

まっくろさんに質問なんですが、初心者ですので
出来ればもう少しわかりやすく説明して頂けないでしょうか?

ご面倒とは思いますが、よろしくお願いします。

▲このページのトップに戻る
291441Re:マクロの使用方法教えてください。まっくろ 2005/09/12-00:11

記事番号291127へのコメント
(1) ○を表示するラベルを3つ作る
 コントロールツールボックスからラベルを選択して適当に配置。
 ラベルを右クリックで、プロパティーを表示。
 プロパティーからCaptionを探して、内容を○に変える。
 プロパティーからFontを探して、フォントサイズを大きめに変える。
 プロパティーから(オブジェクト名)を探して、それをMARU_MEIJIに変える
 プロパティーからVisibleを探して、それをFalseに変える

 上と同じ操作をあと2回繰り返す
 ただし、(オブジェクト名)は、MARU_TAISYOU, MARU_SYOUWA
 また、オブジェクト名をMARU_SYOUWAにしたものだけ、
 VisibleはTrueにしておく

(2) 明治、大正、昭和を表示するラベルを作る。
 コントロールツールボックスからラベルを選択して適当に配置。
 ラベルを右クリックで、プロパティーを表示。
 プロパティーからCaptionを探して、内容を明治に変える。
 プロパティーから(オブジェクト名)を探して、それをMEIJIに変える
 プロパティーからBackStyleを探して、それをfmBackStyleTransparentに変える
 上と同じ操作をあと2回繰り返す
 ただし、(オブジェクト名)は、TAISYOU, SYOUWA

(3) ラベルを重ねあわす
 (1)で作ったMARU_MEIJIと(2)で作ったMEIJIを重ねあわす。
 つまり、丸の中に明治と表示されるようにする。
 同じことをMARU_TAISYOUとTAISYOU、MARU_SYOUWAとSYOUWA
 を重ねあわす。

(4) クリックイベントハンドラを追加
 明治をダブルクリックすると、
Private Sub MEIJI_Click()
End Sub
 と表示される。これを下記の通りに書き換えて、Visual Basicの画面を閉じ、
 デザインモードを終了で出来上がり。

Private Sub MEIJI_Click()
MARU_MEIJI.Visible = True
MARU_TAISYOU.Visible = False
MARU_SHOUWA.Visible = False
End Sub

Private Sub TAISYOU_Click()
MARU_MEIJI.Visible = False
MARU_TAISYOU.Visible = True
MARU_SHOUWA.Visible = False
End Sub

Private Sub SYOUWA_Click()
MARU_MEIJI.Visible = False
MARU_TAISYOU.Visible = False
MARU_SHOUWA.Visible = True
End Sub

▲このページのトップに戻る
291470Re:マクロの使用方法教えてください。オンプ 2005/09/12-07:10

記事番号291441へのコメント
まっくろさんは No.291441「Re:マクロの使用方法教えてください。」で書きました。

どうもありがとうございました。

早速試してみたいと思います。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言