2016-06-08 490 views
-1

我需要使用VLOOKUP来复制单元格(不是CF)的颜色。我试图按照LondonRob发布在 Vlookup to copy color of a cell - Excel VBA 的线程中发布的vba代码,但由于不擅长vba而遇到麻烦。需要使用Vlookup,因为名称可以按不同的顺序排列。Excel vba使用vlookup复制单元格的颜色

我有一个示例工作表,其中的单元格颜色需要从第一个选项卡复制到第二个选项卡基于名称和列号的查找。我设置了srcCell和destCell命名范围并将其复制到发布的vba模块中。

1日制表

名称AMT1

凯西$ 500(单元格颜色红)

马克$ 350(单元格颜色为绿色)

第二个选项卡

名称AMT1 AMT2

马克$ 350 $ 200(绿色电池公司需要$ 350) LOR)

凯西$ 500 $ 400(需要红细胞颜色$ 500)

谁能帮助?

+0

发表你的代码!理想情况下,它将是一个工作子或函数,删除不相关的部分。现在对于你的问题,你有没有想过条件格式? – arcadeprecinct

+1

[Vlookup复制单元格的颜色 - Excel VBA]可能的副本(https://stackoverflow.com/questions/22151426/vlookup-to-copy-color-of-a-cell-excel-vba) – ChrisM

回答

0

如果你是无法理解的解决方案:Vlookup to copy color of a cell - Excel VBA,你可以试试这个来代替:

它只是使用Match找到并复制与默认值和格式的单元格。

FirstTab:

FirstTab

SecondTab:

SecondTab

SecondTab运行宏后:

SecondTab after running the macro

Sub copy_paste_with_format() 

    Dim i As Long 
    Dim var As Variant 

    Dim FirstTab As Worksheet 
    Dim SecondTab As Worksheet 

    Set FirstTab = Application.Worksheets("FirstTab") 
    Set SecondTab = Application.Worksheets("SecondTab") 

    For i = 2 To 3 
     var = Application.Match(SecondTab.Range("A" & i), FirstTab.Range("A:A"), 0) 
     If Not IsError(var) Then 
      FirstTab.Range("B" & var).Copy SecondTab.Range("B" & i) 
     End If 
    Next i 

End Sub