**关闭。**此题需要debugging details。目前不接受答复。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
6天前关闭。
Improve this question
我想找到一个函数,它可以查看Excel中的列表并检查每个红色字体的单元格-然后给予我该客户的ID(来自同一表中的相应列表)。在某种程度上,它应该就像vlookup/xlookup -但查找值是单元格的字体颜色。
我正在寻找一种方法来做到这一点-或者写一个vba函数来做到这一点。我真的是新的vba -并会感谢任何帮助你可以给予:)
我试着使用chatgpt,并在网上寻找解决方案-但无济于事。.
chat gpt代码如下:
Function VLOOKUPbyFontColor(lookup_value As Range, lookup_range As Range, column_index As Long, Optional exact_match As Boolean = True) As Variant
Dim cell As Range
Dim lookup_color As Long
lookup_color = lookup_value.Font.ColorIndex
For Each cell In lookup_range
If cell.Font.ColorIndex = lookup_color Then
VLOOKUPbyFontColor = cell.Offset(0, column_index - 1).Value
Exit Function
End If
Next cell
If exact_match = False Then
For Each cell In lookup_range
If cell.Font.ColorIndex = lookup_color Then
VLOOKUPbyFontColor = cell.Offset(0, column_index - 1).Value
Exit Function
End If
Next cell
End If
VLOOKUPbyFontColor = CVErr(xlErrNA)
End Function
但是这个函数的输出最终是红色字体单元格的值,而不是相应的单元格的值--而且它并不总是有效。.
1条答案
按热度按时间kuhbmx9i1#
它使用find方法。因此,它不会检查区域中的每个单元格的值是否为红色字体,而是在区域中查找值为红色字体的单元格。当它找到单元格时,它将获取单元格值,同时获取列的引用字符串,并显示在消息框中。
要调用函数:
上面的子程序将搜索A列中具有红色字体值的单元格,然后在找到的单元格的行的B列中获取ID。
请注意,子必须在数据所在的活动工作表上运行。