Excel中的VBA函数
问题描述:
我是Excel VBA中的新手。我试图做一个非常简单的函数,它的工作原理就像一个特定的单元格(例如D)包含一些分类的字符串,然后它会在另一个单元格中返回一个特定的值。Excel中的VBA函数
例如,如果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
答
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
+0
它返回一个编译错误: 否则没有IF。 –
+0
这是深夜..错误现在修复了 – Hiten004
答
你不需要一个宏。
您可以在第二列上使用Vlookup
来搜索表格中第一列的值。
答案,我们明白,您是新的VBA编程,但你能告诉我们你尝试过什么和你在哪里卡住了? –
我现在试着用下面的答案1代码,但它的返回错误。 'Else without If' –
我可以给你答案。这是非常明显的,但这里是一个提示... http://www.anthony-vba.kefra.com/vba/vbabasic3.htm –