2017-04-27 365 views
0

我正在尝试做Vlookup,但正如你们所有人都知道vlookup不能将值与格式一起返回。我已经在网上阅读过,我可以使用Vlookup with Match来返回格式。所以请教我如何将这个值与格式一起返回。请注意,并非所有“look”中的值都可以找到,这就是为什么使用IsError的原因。谢谢你的帮助。如何使用带匹配的Vlookup返回格式

With Sheet3 
x = 2 
Do Until IsEmpty(.Range("F" & x).value) 
    look = .Range("F" & x).value 
    result = Application.VLookup(look, Sheet2.Range("B:H"), 2, False) 
    If Not IsError(result) Then 
     .Range("G" & x).value = result 
    Else 
     .Range("G" & x).value = " " 
    End If 
    x = x + 1 
Loop 
End With 
+0

“格式”可以表示不同的东西,你可以指定吗?单元格格式,数据格式等。 –

+0

我的意思是单元格和边框的颜色 –

+0

看到我的回答如下 –

回答

0

这通常可用于返回一个单元格的格式:

Range.DisplayFormat 

MS文档here

颜色的细胞:

getColorIndex = ActiveCell.Interior.ColorIndex 

设定边界信息:

With Worksheets("Sheet1").Range("B2").Borders(xlEdgeBottom) 
    .LineStyle = xlContinuous 
    .Weight = xlThin 
    .ColorIndex = 3 
End With 

只是扭转代码来检查的值,而不是设置它。文档here

希望这会有所帮助!

+0

你可以展示如何使用Range.DisplayFormat? –

+0

如果您不想将它用于特定的单元格,则必须放弃“DisplayFormat”部分。只需更改 'getColorIndex = ActiveCell.DisplayFormat.Interior.ColorIndex' 至 'getColorIndex = ActiveCell.Interior.ColorIndex' –

+0

如果回答了您的问题,请考虑接受它作为答案。 –