[[20180127010732]] 『結合セルをダブルクリックしたときのエラーを回避』(さだ) ページの最後に飛ぶ

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

 

『結合セルをダブルクリックしたときのエラーを回避したいです。』(さだ)

はじめて質問させていただきます。
下記のコードを利用していますが、結合していないセルに□を入れている場合は、正常に機能しますが、結合セルを編集しようとダブルクリックをすると、エラーが出てしまいます。エラーの内容は、「型が一致しません。」です。エラーの回避を自分で探して試みましたが、改善できませんでした。

不勉強で恐縮ですが、ご教示いただけますと幸いです。

' チェックボックス風に、ダブルクリックで□と■を切り替える
'
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    ' 変数定義
    Dim v_on As String
    Dim v_off As String

    ' チェック文字定義
    v_on = "■"
    v_off = "□"

    ' 表記切り替え
    If Target.Value = v_off Then
        Target.Value = v_on
        Cancel = True
    ElseIf Target.Value = v_on Then
        Target.Value = v_off
        Cancel = True
    End If

End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


追加:過去ログにもありましたが、VBA上で範囲指定をせずにする方法があればそれが一番よいです。VBeditorを開いたこともない方も多いため、対象のセルが変更になった際に使えなくなってしまいます。
(さだ) 2018/01/27(土) 01:34

 遅くまで頑張っていますね
 Cancel = True
 は最初に入れて
 Item(1)
 で一つにすればいいと思います。
 Option Explicit
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,   Cancel As Boolean)
 ' 変数定義
 Dim v_on As String
 Dim v_off As String

 Cancel = True
 ' チェック文字定義

 v_on = "■"
 v_off = "□"

 ' 表記切り替え
 If Target.Item(1).Value = v_off Then
    Target.Value = v_on
 ElseIf Target.Item(1).Value = v_on Then
    Target.Value = v_off
 End If

 End Sub

(SoulMan) 2018/01/27(土) 01:40


 おはようございます
あれから気になってちょっと調べたら
Target.Item(1)は、
Target(1)の方がシンプルでいいですね汗
15年のブランクは大きい_| ̄|○
(SoulMan) 2018/01/27(土) 10:00

コメント返信:

[ 一覧(最新更新順) ]


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