如何集成数据VBA
问题描述:
我正在尝试将数据从一个Excel工作表集成到另一个工作表中。 CompanyName是表单1的主要源键,其他工作表的PKEY是Company_Name。我试图编写一个宏,根据工作表1中的公司名称在工作表2中找到公司名称。然后将工作表1中的行复制到工作表2中的匹配行。如何集成数据VBA
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 。
答
非常困惑你的代码。当一个人写Dim foo as Lib1.Class1
时Lib1
是图书馆,Class1
是这个班。所以人们会写Dim ws as Excel.Worksheet
来定义一个工作表变量,这里的Worksheet类驻留在Excel
库中。通过转到窗口顶部的菜单栏并选择工具 - >参考,然后从包含其他工作簿的库列表中进行选择,可以在Excel VBA IDE中添加对库的引用。
我需要知道更多。你有其他工作簿吗? Missed_Macro_Info
需要是一个这样打开的工作簿的VBA项目名称;如同Filtered_Suspect_Sheet
。可以通过单击根节点来重命名VBA IDE项目浏览器中的VBA项目,然后右键单击以获取上下文菜单并选择VBAProject属性来获取对话窗口。
你从哪里得到这段代码?
没有引用这样的项目是导致编译错误的原因。
当你使用vim定义一个变量来指定它的类型时,类型可以被内置到vba中(字符串,整数,双精度)或者它们可以是由插件定义的对象(范围,工作簿,工作表)。 Missed_Macro_Info不是一个有效的类型。 查看内置类型以了解“dim变量作为类型”的含义: https://msdn.microsoft.com/en-us/library/47zceaw7.aspx –