Excel中的VBA函数

问题描述:

我是Excel VBA中的新手。我试图做一个非常简单的函数,它的工作原理就像一个特定的单元格(例如D)包含一些分类的字符串,然后它会在另一个单元格中返回一个特定的值。Excel中的VBA函数

例如,如果D列的任何单元格在其单元格的任何位置包含'Books','Food','Fruits'字符串,则它们将分别在列E中返回01,02,03。肯定会很容易任务,可能这种问题较早问起,但由于我是新手,请让我知道在一个简短的或任何链接,以获得解决方案。

在此先感谢。

+1

答案,我们明白,您是新的VBA编程,但你能告诉我们你尝试过什么和你在哪里卡住了? –

+0

我现在试着用下面的答案1代码,但它的返回错误。 'Else without If' –

+0

我可以给你答案。这是非常明显的,但这里是一个提示... http://www.anthony-vba.kefra.com/vba/vbabasic3.htm –

简单的解决以下

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来搜索表格中第一列的值。