创建VBA以自动分配类型

时间:2015-07-14 09:49:58

标签: vba excel-vba excel

我是VBA编程的初学者。

Screenshot

说明:左表是'参考表'

目标:使用宏

填写右表的'Type'列

如何:编写一个宏,通过'参考表'比较col E(Descript)和关键字。如果col E中的单元格包含特定关键字,则会自动为col F指定一个类别

P.S:提供教程的推荐网站是什么?像codecademy

这样的东西

所以仍然坚持正确引用表: enter image description here

1 个答案:

答案 0 :(得分:1)

感谢您编辑包含代码的答案。下次请复制/粘贴它,而不是使用图像,这样如果我们需要测试您所写的内容,我们就不必自行输入!我可以看到你现在所处的位置,我觉得这对你有用。基本上,您需要循环遍历行而不是列。

我觉得一个函数对你来说效果更好,而不是使用子程序。这样你就可以把它嵌入你的表中,而不必每次都运行一个子程序。

Function getCategory(strInput As String)
  Dim tbl As ListObject
  Dim x As Long

  Set tbl = ActiveSheet.ListObjects("Table1")
  For x = 1 To tbl.ListRows.Count
    If InStr(strInput, tbl.ListRows(x).Range(x, 1)) Then
        getCategory = tbl.ListRows(x).Range(x, 2)
        Exit Function
    End If
  Next x
End Function

然后您只需在F列中输入公式,例如在F2输入 =的getCategory(E2) 并复制/粘贴表格中的每一行。