Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel中的VBA函数_Excel_Vba - Fatal编程技术网

Excel中的VBA函数

Excel中的VBA函数,excel,vba,Excel,Vba,我是Excel VBA的新手。我正在尝试做一个非常简单的函数,它的工作原理类似于如果一个特定的单元格(例如D)包含一些分类字符串,那么它将在另一个单元格中返回一个特定的值 例如,如果D列的任何单元格在其单元格的任何位置都包含“Books”、“Food”、“Fruits”字符串,则它将在E列中分别返回01、02、03。当然,这将是一项非常简单的任务,可能是前面提出的这类问题,但由于我是新手,请在简短或任何链接中告诉我以获得解决方案 提前感谢。您不需要宏。 For Counter = 1 To 20

我是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) = 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

您可以在第二列上使用
Vlookup
来搜索表中第一列的值。

下面的答案很简单

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

我们知道您是vba编程新手,但您能告诉我们您尝试了什么以及您遇到了什么困难吗?我现在尝试使用以下答案1代码,但返回错误。”如果没有,我可以给你答案。这是非常明显的,但这里有一个提示。。。