[[20160518163645]] 『チェックマークをダブルクリックで切り替えたい。』(たぬき) ページの最後に飛ぶ

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

 

『チェックマークをダブルクリックで切り替えたい。』(たぬき)

Excelでセルに入力された☐からセルをダブルクリックするごとに
☐→☑→■と切り替わるようにしたいのですが、☑が記号なのでコードに
書こうとすると、?になってしまい☑だけ変数の宣言?等で解決できないかと思い書き込みました。

ちなみに☐と■は下記マクロで出来るのを確認しています。
これに☑も何とか追加できないかと思っているところです。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("K6:Q56")) Is Nothing Then Exit Sub
Cancel = True
If Target.Value = "☐" Then
Target.Value = "■"
ElseIf Target.Value = "■" Then
Target.Value = "□"
End If
End Sub

チェックボックスを使えば?と思うかもしれないのですが、オブジェクト類は印刷時にずれたり、大量にあるとそれぞれの位置調整がかなり手間になるので上記の様なマクロで対応できればと考えた次第です。

ご教示ください。宜しくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 このようなことか?
 ChrW(9745)で☑になる。

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("K6:Q56")) Is Nothing Then Exit Sub
    Cancel = True
    Select Case Target.Value
        Case "□": Target.Value = ChrW(9745)
        Case ChrW(9745): Target.Value = "■"
        Case "■": Target.Value = "□"
    End Select
 End Sub

(ねむねむ) 2016/05/18(水) 16:56


こうも書けたり。

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim iw As Long
    Dim cSqure As String

    If Intersect(Target, Range("K6:Q56")) Is Nothing Then Exit Sub
    Cancel = True
    cSqure = "□" & ChrW(9745) & "■"
    iw = InStr(cSqure, Target.Value)
    Target.Value = Mid(cSqure, iw Mod 3 + 1, 1)
 End Sub
(???) 2016/05/18(水) 17:05

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("K6:Q56")) Is Nothing Then Exit Sub
    Select Case Target.Value
        Case "□": Target.Value = ChrW(9745)
        Case ChrW(9745): Target.Value = "■"
        Case "■": Target.Value = "□"
        Case Else: Exit Sub
    End Select
    Cancel = True
 End Sub
 こちらのほうがいいか?

 前の式だとK6:Q56内で□☑■以外が入っているセルおよび空白セルもダブルクリックで編集状態にできない。
 こちらで有れば□☑■以外が入っているセルおよび空白セルはダブルクリックで編集状態になる。

(ねむねむ) 2016/05/18(水) 17:11


ねむねむ様・???様

早速の解答ありがとうございます。
やろうと思っていた通りのことが出来ました!

ChrW(9745)で☑になるとは知りませんでした。
勉強になります!

☐☑■以外のセルが編集可能なるお気遣いがまさに完璧でした。
実はちょうど☐☑■を入力しないセルもありましたので。

この問題は解決です!
本当にありがとうございました!
(たぬき) 2016/05/18(水) 17:50


すいません。一つ追加で質問があるのです、結合してるセルだとエラー?になってしまうのですが、
結合されたセルだと今の作成頂いたマクロだとダメなのでしょうか?

(たぬき) 2016/05/18(水) 18:05


Target.ValueをTarget(1).Valueに変更してみてください。

(マナ) 2016/05/18(水) 19:21


マナ様

回答ありがとうございます。
解決致しました!

(たぬき) 2016/05/18(水) 19:32


コメント返信:

[ 一覧(最新更新順) ]


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