2017-09-12 13 views
0

ハイライト/選択した単語に対して、マクロに一連のアクションを実行させる方法を教えてください。Excelマクロ:選択した単語への操作

単語を選択してから操作を実行しました。アイデアは、私が選んだ言葉に何か行動しなければならないということです。しかし、マクロを実行するために他の単語を選択すると、それは "And"にのみ実行されます。

コード:本質的には

Sub Test() 
    ' 
    ' Test Macro 
    ' 
    ' Keyboard Shortcut: Option+Cmd+r 
    ' 
    Range("AW2").Select 
    ActiveCell.FormulaR1C1 = "And" 
    Columns("N:N").Select 
    Selection.Insert Shift:=xlToRight 
    Range("N1").Select 
    ActiveCell.FormulaR1C1 = "And" 
    Range("N2").Select 
    ActiveCell.FormulaR1C1 = _ 
     "=IF(ISNUMBER(SEARCH(""And"", RC[-2]:R[4545]C[-2])), ""yes"", ""no"")" 
    Range("N2").Select 
    Selection.AutoFill Destination:=Range("N2:N4547") 
    Range("N2:N4547").Select 
    ActiveWindow.ScrollRow = 4577 
    Range("N4555").Select 
    ActiveCell.FormulaR1C1 = "=COUNTIF(R[-4553]C:R[-8]C, ""yes"")" 
    Range("N4556").Select 
End Sub 

、私が欲しい「と」「私はハイライト任意の単語」の意味変数に置き換えます。

+0

?セルを編集すると、VBAは停止します。また、あなたが持っているコードを表示して、うまくいかないコードを教えてください。 –

+0

編集を確認してください。私は強調した言葉にマクロを適用したい。 –

+0

@DirkReichelが言ったように、「ハイライト」とはどういう意味ですか?あなたはセルの編集中で、そのセルのテキスト内で1つの単語を選択します(この場合、その時点でマクロを実行することはできません)。単語を含むセル? – YowE3K

答えて

0

セルの編集中にVBAコードを実行することはできません。 VBAを実行する前に、変更を保存または元に戻す必要があります。

値をコピーして、その値をコードで尋ねるか、VBAでクリップボードの有効な値を調べることをお勧めします。後者をすることは複雑であり、まったく別の疑問である。だからこそ私はここで詳しく説明することはしない。

+0

ありがとう!代わりに、VBAの内部に配列を作成してから、すべてのリスト項目に対してマクロアクションを実行しました。 –

1

私は右のあなたを得た場合、あなたはこのコードを使用して実行したい値でセルを選択:あなたは「ハイライト」とはどういう意味ですか

Sub Test() 
    Dim str As String 
    str = Selection.Value 
    Columns("N:N").Insert Shift:=xlToRight 
    Range("N1").FormulaR1C1 = str 
    Range("N2").FormulaR1C1 = "=IF(ISNUMBER(SEARCH(""" & str & """, RC[-2]:R[4545]C[-2])), ""yes"", ""no"")" 
    Range("N2").AutoFill Destination:=Range("N2:N4547") 
    Range("N4555").FormulaR1C1 = "=COUNTIF(R[-4553]C:R[-8]C, ""yes"")" 
End Sub 
+0

ありがとう!それはまさに私が探していたものです!だから、私が探していたロジックは、「Selection.Value」の部分でした。私はウェブ上ではまったく見つけられませんでした。 –

+0

あなたは歓迎です:) –

関連する問題