[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『クリックひとつでチェックしたいのですが』(あげ)
表の中に□を作成し、該当する□をクリックするだけで■に塗りつぶせるように
したいのですが可能でしょうか?
マクロの記録をお試し下さい。
自動作成されたマクロを、その □(図形?)に登録すればできます。
(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.