自动复制价值和格式 - Excel

时间:2016-07-17 13:10:28

标签: excel excel-vba excel-formula vba

自动复制一个/多个单元格的值&颜色格式到我自己指定的另一个单元格/单元格区域。每当第一个单元格更改其值或格式时,另一个单元格也需要更新。

我已经能够看到只有一两个线程来回答这个问题,但它仍然不符合我的目的。任何天才都可以帮助我吗?我不太明白为什么这样一个基本的东西花了我整整一天才弄清楚(答案不应该是我不聪明:D)

附上我想要实现的Excel示例。

我希望能够;

  1. 使用工作表1中的数据更新工作表2.(工作表2中的C4必须为绿色且值为5)。此外,如果工作表1中的C4更改其值和颜色,我希望工作表2中的C4自动更改)
  2. 现在,以上不仅仅是我关心的问题。我在Sheet 1中有很多单元格,我希望能够选择并将它们复制到各自的Sheet 2中。 (例如,来自表1的c4,d4,e4,.etc将被复制到表2中的c4,d4,e4)。不一定我想以顺序方式选择单元格,但是如果我有办法指定哪个单元格需要复制到另一个单元格的哪个单元格中,我会更加确信。

     Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Dim ping As Boolean
        If Intersect(Target, Range("A3")) Is Nothing Then
        If ping = False Then
            Range("A3").Copy
            Range("C10").PasteSpecial Paste:=xlPasteFormats
        End If
           ping = True
           Exit Sub
        Else
           ping = False
        End If
     End Sub   
    
  3. Snapshot

1 个答案:

答案 0 :(得分:0)

一种解决方案可以是用户定义的功能。我无法尝试代码,只是为了表明这个想法:

Public Function CopyFromTo(rngFrom As Range, rngTo As Range)
    Application.Volatile True ' "A volatile function must be recalculated whenever calculation occurs in any cells on the worksheet"
    rngFrom.Copy rngTo
    CopyFromTo = rngFrom ' I am not sure what the function should return 
End Function

例如,单元格B2中的公式为=CopyFromTo(A2, B2)