[[20040908153033]] 『クリックひとつでチェックしたいのですが』(あげ) ページの最後に飛ぶ

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

 

『クリックひとつでチェックしたいのですが』(あげ)

表の中に□を作成し、該当する□をクリックするだけで■に塗りつぶせるように
したいのですが可能でしょうか?


 マクロの記録をお試し下さい。

 自動作成されたマクロを、その □(図形?)に登録すればできます。

  (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)


マクロの登録で"OK"を選択すればいいのでしょうか?
(あげ)


マクロの仕方がよくわかりません(涙)
(あげ)


 図形のマクロは、あまり経験無いので勉強のためにやってみましたが、
 作成した図形にマクロを登録して色を変えてやると、色は変わるのですが
 セレクトしたままの状態になります。
 解除するのはどのようにするのでしょう。

 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 ペコッ
(夏目雅子似)


 できました!!感動です!!!ありがとうございました。m(._.)m

コメント返信:

[ 一覧(最新更新順) ]


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