[[20151117144519]] 『右クリックで併記するには』(kan) ページの最後に飛ぶ

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

 

『右クリックで併記するには』(kan)

右クリックで、入力ミスを防ぐように以下を作成しました。
右クリックの値を 併記するにはそのようにすれば良いでしょうか?
例として
元々「ふぁいる」と記入してあるセルに右クリック「データON」をクリック 結果
「ふぁいるデータON」とさせたいのですがよろしくお願いします。

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

   Dim CB As CommandBar

  Set r = Intersect(Range("M3:M100"), Target)
    If Not r Is Nothing Then
    Set CB = Application.CommandBars.Add("myContext17", 5)
    CreateContext CB
    CB.ShowPopup
    CommandBars("myContext17").Delete
    Cancel = True
   End If

<標準モジュール>
Sub CreateCont(CB)

    With CB.Controls.Add
        .Caption = "ふぁいる"
        .OnAction = "taku"
    End With

    With CB.Controls.Add
        .Caption = "データON"
        .OnAction = "OnD"
    End With

    With CB.Controls.Add
        .Caption = ""
        .OnAction = "nasi"
    End With
End Sub

Private Sub taku()

    Selection.Value = "ふぁいる"
End Sub

Private Sub OnD()

    Selection.Value = "データON"
End Sub

Private Sub nashi()

    Selection.Value = ""
End Sub

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


 >Selection.Value = "データON"
  ↑
 こう云うのを、こう書けばいいのではないですか?
         ↓
  Selection.Value = Selection.Value & "データON"

(半平太) 2015/11/17(火) 15:57


半平太さん
ありがとうございます。
型が一致しません 反転します。
だめ?
(kan) 2015/11/17(火) 16:08

 >型が一致しません 反転します。

 ははぁー、複数のセルを選択することもあるんですね。

 ならば、どこかに一つこんなのを書いて置き
         ↓
 Private Sub strCombine(str)
     Dim cel As Range
     For Each cel In Selection
         cel.Value = cel.Value & str
     Next
 End Sub

 あとは、これを →  Selection.Value =  "データON"

 この様に変える →  strCombine "データON"

(半平太) 2015/11/17(火) 16:31


 本題とは離れますが。

 ちゃんと使っている本物のコードをそのままコピペでアップすべきですよ。
 今回の場合は、半平太さんご指摘の複数セル選択でしょうけど、

 CreateContext CB となっていますが、一方で Sub CreateCont(CB) 

 ちゃんと本物のコードをコピペでアップしてください。

(β) 2015/11/17(火) 16:38


半平太さん
ありがとうございました。
無事希望通りできました。

βさん
ご指摘すみません
勘違いして別のモジュールにもあるので載せてしまいました
以後気をつけます。

(kan) 2015/11/17(火) 20:30


コメント返信:

[ 一覧(最新更新順) ]


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