2017-01-01 11 views
1

別のセルにクリックさ/アクティブセルの内容をコピーします。これはかなり簡単な作業と思われるが、私は、我々が持っていると仮定、私が何かをしたいと、今...エクセル:

いくつかのソリューションを試してみましたので、何とか何も働いていませんこのシート:セルがランダムにをクリックしたとき

enter image description here

、そのテキストの値/内容オレンジボックスに表示されるべきです。

これが最初で最も重要な部分です。

発生するための第2のものがある: 可能な場合、同じ値を含むすべての他の細胞は緑色の背景で陰影/ハイライトされるべきである(画像を見る)

enter image description here

私は試しました: https://www.ablebits.com/office-addins-blog/2015/02/10/excel-indirect-function/

http://www.contextures.com/xlFunctions05.html

https://support.office.com/en-us/article/Hide-or-display-cell-values-c94b3493-7762-4a53-8461-fb5cd9f05c33

https://support.office.com/en-us/article/CELL-function-51bd39a5-f338-4dbe-a33f-955d67c2b2cf

事前にありがとうございます。

EDIT 1: PS:好ましくは非VBソリューション。しかし、VBのソリューションはすべて、その後、あなたのVBの提案は非常に

+0

VBAで

Selection.Copy Destination:=Range("E2") 

を交換してください。なぜVBA以外のソリューションを使用したいのですか? – MacroMarc

+0

確かに、編集1を参照してください:...ありがとう! – ErickBest

+0

空のセルをクリックしても**これを実行しますか?** –

答えて

3

はこれのほとんどはhere答えているがいただければ幸いれることになるのであれば、それは少しだけ

Option Explicit 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Selection.Count = 1 Then 
    'Put in your actual range and the cell where you the text to be shown 
     If Not Intersect(Target, Range("B5:D17")) Is Nothing Then 
      Selection.Copy Destination:=Range("E2") 
     End If 
    End If 
End Sub 

と着色缶を編集する必要があります

=B5=$E$2 

値がB5で始まり、表示されるテキストがE2にあると仮定して、条件付き書式設定ルールを実行するだけです。あなたが唯一の値ではなくE2への書式設定をコピーする場合は

、それを行うことができ

Range("E2").Value = Selection.Value 
+0

これはいくつかのtwixで動作しました....受け入れられる! – ErickBest

0
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    'Task1: Show your active cell contents in cell E2 
    actval = ActiveCell.Value 
    actaddr = ActiveCell.Address 
    Range("E2") = actval 

    'Task2: Turn all cells green, matching with active cell value, except host cell 

    'first set entire background white 
    Range("B5:F18").Interior.Color = vbWhite 

    'second set all matching cells green 
    For Each c In Range("B5:F18") 
    If c.Address <> actaddr Then 
    If c = actval Then 
    Range(c.Address).Interior.Color = vbGreen 
    End If 
    End If 
    Next c 
    End Sub