如果是sheet1,我想知道如何为第3张的A1着色!A1 = sheet2!A1。我想检查表1和表1中从A1到A1000的单元格。 2,并将结果着色为第3页。
感谢。
答案 0 :(得分:0)
对于早于Excel 2010的版本,您需要使用命名范围来引用其他工作表。
一个选项:在Sheet2上创建一个引用单元格A1到A1000的命名范围。然后使用此公式的条件格式
=A1=INDEX(CompareRange,ROW(A1))
如果您不想使用命名范围,可以使用Sheet1上的辅助列使用公式
=A1=Sheet2!A1
然后将条件格式基于该列,其中结果将为TRUE或FALSE。
答案 1 :(得分:-1)
不幸的是,内置的条件格式不允许您根据其他工作表或工作簿中的单元格格式化单元格。因此,手头的任务确实需要使用VBA。下面附有解决方案外观的示例。您需要将formatAsDesired的内容替换为您需要的实际格式。
Sub compareMyRanges()
'this sub executes the code below for your actual ranges in your actual project
compareRange Sheets("Sheet1").Range("A1:A1000"), Sheets("Sheet2").Range("A1:A1000"), Sheets("Sheet3").Range("A1:A1000")
End Sub
Sub compareRange(inRangeOne As Range, inRangeTwo As Range, outRange As Range)
For Each Row In outRange.Rows
If inRangeOne.Cells(Row.Row, 1).Value = inRangeTwo.Cells(Row.Row, 1).Value Then
'if there is a match between column 1 and column 2, formatAsDesired
'is called for the respective cell in column three
formatAsDesired outRange.Cells(Row.Row, 1)
End If
Next Row
End Sub
Sub formatAsDesired(formatRange As Range)
'formats Range with green fill. Replace the contents of this sub with whatever
'formatting or transformation you require for the cells that match.
With formatRange.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub