我一直试图找到一个宏,它将逐行查看列(工作列a),并在另一个工作表上搜索表中的任何单词(列表a)。如果它找到任何这些单词,它将返回下一列(列表b)中的值并将其放入工作表(工作列c)中的单元格中,并逐行向下工作表单行执行此操作。
这可能是宏吗?我知道if then else公式列在7个项目中,并且我使用的列表的时间长于那个(并且还在增长)
答案 0 :(得分:0)
在所有工作表中替换范围中定义的所有表达式的示例:
Sub ReplaceMulti()
Dim dictionary As Range, sh As Worksheet, data(), r&, search$, replace$
' Loads a translation table from a worksheet
' The first column is the searched string and the second is the replacement
Set dictionary = [Sheet1!A1:B10]
data = dictionary.value
' iterate each sheet
For Each sh In ActiveWorkbook.Worksheets
' skip the sheet with the dictionary
If sh.CodeName <> dictionary.Worksheet.CodeName Then
' iterate each expression
For r = 1 To UBound(data)
If Not IsEmpty(data(r, 1)) Then
search = data(r, 1)
replace = data(r, 2)
' replace in the sheet
sh.Cells.replace What:=search, replacement:=replace, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
End If
Next
End If
Next
End Sub