我有一个包含14个工作表的excel文件,我需要在每个工作表的不同列中查找值,如果找到它,则返回在摘要表的列表中找到值的工作表的名称。
我尝试过使用if和vlookup功能,但是我找不到合适的结果,我也尝试使用数据透视表,但因为我有多张表,所以它对我不起作用。
我希望有人帮助我进行一些VBA编码来解决这个问题。
我是编码和VBA的新手,我仍然不理解所有这些,所以我没有尝试自己编码,对不起。
答案 0 :(得分:0)
尝试使用以下公式函数来创建解决方案。如果你不能提出有用的东西,发布你所拥有的东西,我们可以通过它。
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
IF(logical_test,value_if_true,value_if_false)
另请考虑使用Named Ranges
让我知道你的想法:)
答案 1 :(得分:0)
希望这会有所帮助。 :)
Sub findStuff()
Dim ws As Worksheet
Dim strWhat As String
Dim rngSearch As Range
Dim rngFound As String
Dim i As Integer
strWhat = "Raspberry"
For Each ws In Worksheets
Set rngSearch = ws.Cells.Find(What:=strWhat)
If Not rngSearch Is Nothing Then
i = i + 1
If i = 1 Then
rngFound = rngSearch.Worksheet.Name
Else
rngFound = rngFound & ", " & rngSearch.Worksheet.Name
End If
End If
Next ws
MsgBox "'" & strWhat & "' found on the following worksheet(s): " & rngFound & "."
End Sub