EXCEL女士:将点击/活动单元格的内容复制到另一个单元格

这似乎是一个容易的任务,但从某种程度上来说,没有任何工作,因为我已经尝试了几个解决scheme,

我想要的东西,假设我们有这张表:

在这里输入图像说明

当单元格被随机点击时,该文本的值/内容应显示在橙色框中。

这是第一个也是最重要的部分。

第二件事是:如果可能的话,包含相同值的所有其他单元格应该用绿色背景突出显示/着色(见图)

在这里输入图像描述

我试过了: 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

先谢谢你。

编辑1: PS:最好是非VB解决scheme。 但是,如果一个VB解决scheme将是所有的,那么你的VB的build议将不胜感激

这里大部分都是回答,所以只需要编辑一下

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,请replace

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

 Range("E2").Value = Selection.Value 
  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