我目前正在尝试将一个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。
答案 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属性以获取对话框窗口。
你从哪里得到这个代码?
未引用此类项目是导致编译错误的原因。