我有 2 张 -
"Data Pulls"
和 "Hardcoded Values"
。 "Data Pulls"
工作表包含一堆彭博公式,用于从彭博终端提取实时数据。 "Hardcoded Values"
工作表包含与值(而不是公式)相同的数据。我目前正在尝试编写一个名为 "Highlight Differences"
的按钮,单击该按钮时,本质上需要循环遍历 "Data Pulls"
选项卡中的使用范围,并将其与 "Hardcoded Values"
选项卡中的数据进行比较。因为需要比较 "Data Pulls"
中的单元格 A8 是否与“Hardcoded Values"
”中的单元格 A8 具有相同的数据,依此类推,对于范围内的每个单元格。如果两个单元格不同,代码应将相应的单元格突出显示为红色例如,如果 "Data Pulls"
中的单元格 A8 中的 Bloomberg 公式拉出了“男孩”,而 "Data Pulls"
选项卡中的单元格 A8 表示“女孩”,则 "Hardcoded Values"
中的单元格 A8 将突出显示为红色。 我有当前的代码,这给了我"Data Pulls"
。我认为这是因为
Run-time error '13': Type Mismatch
中的单元格包含公式,而 "Data Pulls"
中的单元格包含值(文本/数字)。我尝试在代码中合并一行,将从公式派生的数据存储为文本,但无济于事。您能帮我确定如何解决这个问题吗?"Hardcoded Values"
Sub HighlightDifferences()
' Define source and destination ranges
Dim srcRange As Range
Dim dstRange As Range
Set srcRange = ThisWorkbook.Sheets("Data Pulls").Range("A8:W46")
Set dstRange = ThisWorkbook.Sheets("Hardcoded Values").Range("A8:W46")
' Store source data as text
Dim srcData As Variant
srcData = srcRange.Value2
' Loop through each cell
For i = 1 To srcRange.Rows.Count
For j = 1 To srcRange.Columns.Count
' Compare values and highlight differences
If UCase(CStr(srcData(i, j))) <> UCase(dstRange.Cells(i, j).Value) Then
srcRange.Cells(i, j).Interior.ColorIndex = xlRed
End If
Next j
Next i
End Sub