如何集成Data VBA

时间:2016-06-21 22:22:46

标签: excel vba excel-vba macros

我目前正在尝试将一个excel工作表中的数据集成到另一个工作表中。 CompanyName是第一张的主要源键,另一张工作表的PKEY是Company_Name。我正在尝试编写一个宏,根据工作表1中的公司名称在工作表2中找到公司名称。然后将第1页中的行复制到第2页中的匹配行。

Sub Method1()

Dim PKEY As String
Dim CompanyName As Missed_Macro_Info.CompanyName
Dim Company_Name As Filtered_Suspect_Sheet.Company_Name
Set PKEY = Range("D2:D513")

CompanyName = Missed_Macro_Info1.company.FindByCompanyName("PKEY")

For a = PKEY To 1 Step -1

    If CompanyName.Value = Company_Name.Value Then
        Copy (CompanyName.Row)
        Paste (Company_Name.Row)
    Else
    End If


End Sub

我在

收到“未定义的用户定义类型”错误
Dim CompanyName As Missed_Macro_Info.CompanyName

如果用户更容易使用Vlookup请告诉我,我不熟悉VBA。

1 个答案:

答案 0 :(得分:0)

你的代码非常困惑。当一个人写Dim foo as Lib1.Class1时,Lib1是库,Class1是类。因此,可以编写Dim ws as Excel.Worksheet来定义工作表变量,这里的Worksheet类驻留在Excel库中。可以在Excel VBA IDE中添加对库的引用,方法是转到窗口顶部的菜单栏,选择Tools-> References,然后从包含其他工作簿的库列表中进行选择。

我需要了解更多信息。你有其他工作簿吗? Missed_Macro_Info需要是一个这样打开的工作簿的VBA项目名称;就像Filtered_Suspect_Sheet一样。可以通过单击根节点重命名VBA IDE项目资源管理器中的VBA项目,然后右键单击以获取上下文菜单并选择VBAProject属性以获取对话框窗口。

你从哪里得到这个代码?

未引用此类项目是导致编译错误的原因。