我是 Excel VBA 的新手。我正在尝试做一个非常简单的函数,该函数的工作方式类似于如果特定单元格(例如 D)包含一些分类字符串,那么它将在另一个单元格中返回特定值。
例如,如果 D 列的任何单元格在其单元格的任何位置包含“Books”、“Food”、“Fruits”字符串,那么它将分别在 E 列中返回 01、02、03。当然,这将是一项非常简单的任务,可能早先提出的问题,但由于我是新手,请通过简短或任何链接让我知道以获取解决方案。
提前致谢。
简单修复下面的答案
For Counter = 1 To 2000
Set curCell = Worksheets("Sheet1").Cells(Counter, 4)
' 'Books', 'Food', 'Fruits
If curCell.Value = "Books" Then
Worksheets("Sheet1").Cells(Counter, 5) = 1
ElseIf curCell.Value = "Food" Then
Worksheets("Sheet1").Cells(Counter, 5) = 2
ElseIf curCell.Value = "Fruits" Then
Worksheets("Sheet1").Cells(Counter, 5) = 3
End If
Next Counter
你不需要宏。
您可以使用Vlookup
on 第二列来搜索表中第一列的值。
For Counter = 1 To 2000
Set curCell = Worksheets("Sheet1").Cells(Counter, 4)
' 'Books', 'Food', 'Fruits
If curCell.Value = "Books" Then Worksheets("Sheet1").Cells(Counter, 5) = 01
elseIf curCell.Value = "Food" Then Worksheets("Sheet1").Cells(Counter, 5) = 02
elseIf curCell.Value = "Fruits" Then Worksheets("Sheet1").Cells(Counter, 5) = 03
end if
Next Counter