[[20091210014933]] 『結合セルに』(デッキィ) ページの最後に飛ぶ

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

 

『結合セルに』(デッキィ)

 またまたお世話になります。

 この掲示板を参照し、セルC3:AZ100にダブルクリックで○の入力をさせていただいています。
 しかし、困った事にセルが結合していると実行エラー13『型が一致しません』
 となりうまく入力する事が出来ません。
 どうしても結合したセルに○を入れたいのですがうまく出来る方法は無いでしょうか?
 又、空白⇒○⇒◎⇒空白の順番に入力する事は可能でしょうか? 

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Intersect(Target, Range("C3:AZ100")) Is Nothing Then Exit Sub
 Cancel = True
    If Target.Value = "" Then
        Target.Value = "○"
    ElseIf Target.Value = "○" Then
        Target.Value = ""
    End If
 End Sub

 よろしくお願いします。

 [エクセルのバージョン]
 Excel2003
 [OSのバージョンの例]
 WindowsXP


 '==================================================================================
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim idx As Variant
    Dim myarray As Variant
    If Intersect(Target, Range("C3:AZ100")) Is Nothing Then Exit Sub
    If Target.MergeCells Then Set Target = Target.Cells(1, 1)
    myarray = Array("", "○", "◎")
    Cancel = True
    idx = Application.Match(Target.Value, myarray, 0)
    If IsError(idx) Then idx = 1 Else idx = idx Mod (UBound(myarray) + 1)
    Target.Value = myarray(idx)
    Erase myarray
 End Sub

 本来なら、このmyarrayに相当する配列データは、どこかのセルに置いといて、
 変更(循環する文字列が更に追加されても)してもコードの変更をしなくても済むように
 すると思いますけど・・・。

 とりあえずこれで試してみてください

 ichinose


 ichinose様有難うございます。
 早速試してみました。
 ばっちりです!!
 循環する文字列は変わることが無い為問題ありません。
 1点追加質問させてください。
 ダブルクリックで入力しなくてよいセルを省こうと思い該当セルを書き出し、下記コードを
 >If Intersect(Target, Range("C3:AZ100")) Is Nothing Then Exit Sub
 ↓↓
 >If Intersect(Target, Range("AD10:AE11", "AN10:AO11")) Is Nothing Then Exit Sub
 に変えましたが3箇所以上になると
 >If Intersect(Target, Range("AD10:AE11", "AN10:AO11", "AD12:AE13")) Is Nothing Then Exit Sub
 コンパイルエラーとなってしまいます。
 コードの変更方法に問題が有るのでしょうか?
 それともまったく別のコードが必要になるのでしょうか?

 お手数ですがよろしくお願いします。

 (デッキィ) 

 If Intersect(Target, Range("AD10:AE11,AN10:AO11,AD12:AE13")) Is Nothing Then Exit Sub
こうでは?
(みやほりん)(-_∂)b

 (みやほりん)様
 出来ました。有難うございました!!
 (デッキィ)

コメント返信:

[ 一覧(最新更新順) ]


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