[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『クリックでレ点で入るマクロ 結合セル時』(STR)
お世話になります。
ネットで記載のあったコードで
セルをダブルクリックでレ点はいるコードを使用していたのですが
結合セルがある場所でクリックするとエラーで止まります。
結合セル時にもダブルクリックしてレ点いれる方法はあるのでしょうか?
結合しているセルは、
B6とB7
B25,B26,B27,B28,B29,B30,B31,B32の箇所です。
もし、分かる方がご教授願います。
Private Sub worksheet_beforedoubleclick(ByVal Target As Excel.Range, cancel As Boolean)
If Application.Intersect(Target, Range("B2:B200")) Is Nothing Then Exit Sub
If Target = "" Then
Target.Font.Name = "Wingdings"
Target = ChrB(252)
Else
Target.ClearContents
End If
cancel = True
End Sub
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Target をすべて Target(1) に変えて試してみて下さい。
(β) 2016/02/04(木) 20:36
実行時エラー'1004'
結合されているの一部を変更することはできません
となるので、この場合はエラートラップで飛ばして終了させるくらいしか
対策する方法がないでしょうか?
Private Sub worksheet_beforedoubleclick(ByVal Target As Excel.Range, cancel As Boolean)
If Application.Intersect(Target(1), Range("B2:B200")) Is Nothing Then Exit Sub
If Target(1) = "" Then Target(1).Font.Name = "Wingdings" Target(1) = ChrB(252) Else Target(1).ClearContents End If cancel = True End Sub (STR) 2016/02/04(木) 20:46
うーんβさんらしからぬ解答っすね。 [[20150906185643]] 『On Error 〜ステートメントについて』( ichinose)
クリック系イベントなら、アクティブになったあとにイベント発生だったと思うので ~~~~~~~~~~~~~~~~~~ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("B2:B200")) Is Nothing Then With ActiveCell If .Value = "" Then .Font.Name = "Wingdings" .Value = ChrB(252) Else Target.ClearContents End If Cancel = True End With End If End Sub
こういうコードでも良いような? (稲葉) 2016/02/05(金) 09:22
>>うーんβさんらしからぬ解答っすね。
ひやぁ!!! (汗!汗!)
Target(1).ClearContents
だけは
Target.ClearContents または Target.Value = Empty で。
(β) 2016/02/05(金) 09:36
返答遅れて申し訳ありません。
β様の指摘の通り直したら問題なく
稲葉様の記載されたコードも動きました
返答ありがとうございます。
今後も、不明な点や相談事があれば
書き込みさせて頂く事も有るかと思いますが、宜しくお願い致します
(STR) 2016/02/05(金) 21:37
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.