[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『クリックひとつでチェックしたいのですが』(あげ)
表の中に□を作成し、該当する□をクリックするだけで■に塗りつぶせるように
したいのですが可能でしょうか?
マクロの記録をお試し下さい。
自動作成されたマクロを、その □(図形?)に登録すればできます。
(INA)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Selection.Cells.Address = "$D$7" Then Select Case Selection.Cells.Value Case "□" Selection.Cells.Value = "■" Case "■" Selection.Cells.Value = "□" End Select End If End Sub
あれ □って図形だったんですかぁ セルン中に入れちゃいましたぁ 失敗失敗Σ でもまぁ一応つくったんでぇ どうですかねぇ (Null)
便乗質問です(^_^A; 文字で□の場合Nullさんの方法でOKですが、例えば □決定 など後ろに文字が数文字入っている場合に、 ■決定 としたい場合はどうなるんでしょう。 文字は2文字とは限りません。 今は、Range("A1").Replace What:="■", Replacement:="□", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False などとしていますが、"■"* アスタリスクなどの方法は無いのでしょうか。
本当に便乗ですいません。m(._.)m ペコッ (川野鮎太郎)
>表の中に□を作成 「作成」なので図形と判断しました。(文字なら「入力」。)
(INA)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) dim n as range set n = Selection.Cells
If Selection.Cells.Address = "$D$7" Then Select Case left(n.value,1) Case "□" n.value = "■" & mid(n.value,2) Case "■" n.value = "□" & mid(n.value,2) End Select End If End Sub
すいません あまり難しいタグはわからないのでこんな感じで許してください~~
(Null)
どのようにうまくいかないのでしょうか?
マクロの記録は出来ましたか?
そしたら、図形を右クリックして、「マクロの登録」です。
(INA)
図形のマクロは、あまり経験無いので勉強のためにやってみましたが、 作成した図形にマクロを登録して色を変えてやると、色は変わるのですが セレクトしたままの状態になります。 解除するのはどのようにするのでしょう。
Sub Macro1() ActiveSheet.Shapes("四角形 1").Select 'セレクトしないとエラー?(^_^;) With Selection.ShapeRange.Fill.ForeColor If .SchemeColor = 8 Then '色が黒か判断 .SchemeColor = 1 '白に変える Else .SchemeColor = 8 '黒に変える End If End With False '←ここで、何かを入れてやれば良いのですが。 End Sub (川野鮎太郎)
activecell.select とかですか?
(INA)
_/ ̄|○ il||li それで良いんですよね( ̄ー ̄;A 大汗・・・
てっきり、Application.CutCopyMode = False このような何かがあるのかと思ってました。 探すのに1時間かかってしまった_/ ̄|○ il||li (川野鮎太郎)
ちょっと出遅れ。。゛(ノ><)ノ ヒィ 色の塗り替えというよりはあるかないかになってしまったぁ( ̄□ ̄;)!! まぁ、試してみてください。 当該シートに↓ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim MyShape As Shape Cancel = True If Intersect(Target, Range("A1:D5")) Is Nothing Then Exit Sub With Target Set MyShape = ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, .Width, .Height) End With With MyShape .Fill.ForeColor.SchemeColor = 10 .OnAction = "削除" End With Set MyShape = Nothing End Sub ↓標準モジュールに Sub 削除() Dim MyName As String MyName = ActiveSheet.Shapes(Application.Caller).Name ActiveSheet.Shapes(MyName).Delete End Sub (夏目雅子似)
離脱 |)彡 サッ (Null)
すみません。標準モジュールの方を差し替えました。(^^;; ヒヤアセ 18:51 (夏目雅子似)
追加です。 シートモジュールの↓を .OnAction = "削除" ↓ .OnAction = "変色" に変更して、標準モジュールを↓に変更すれは、色の変化になります。 Sub 変色() Dim MyName As String MyName = ActiveSheet.Shapes(Application.Caller).Name ActiveSheet.Shapes(MyName).Select With Selection If .ShapeRange.Fill.ForeColor.SchemeColor = 12 Then .ShapeRange.Fill.ForeColor.SchemeColor = 10 Else .ShapeRange.Fill.ForeColor.SchemeColor = 12 End If End With ActiveCell.Select End Sub お好みでどうぞv(=∩_∩=)v (夏目雅子似)
最初から□と■(白と黒)と書いてあるのに、赤と青にしてるのは、夏目さんの意地悪です♪〜〜( ̄ε ̄ ;) m(._.)m ペコッ 数字の12と10を8と1に変えてください。 |)彡サッ!! (川野鮎太郎)
川野鮎太郎さん、フォローありがとうございます。m(._.)m ペコッ (夏目雅子似)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.