Excel按行粘贴数据
我有2个excel文件,我需要将数据组合在一起 我用一些样本数据简化如下 Excel文件1 带有项目代码的第1列,例如1、2、3 第2列是物品成本,比如说$1、$2、$3 Excel文件2 带有项目代码的第1列,例如1、3和4 我想复制Excel文件1的所有第2列,粘贴到Excel文件2中,将匹配的内容粘贴到Excel文件2的第1列。如果列1不匹配,它将跳过数据 这可能吗Excel按行粘贴数据,excel,paste,Excel,Paste,我有2个excel文件,我需要将数据组合在一起 我用一些样本数据简化如下 Excel文件1 带有项目代码的第1列,例如1、2、3 第2列是物品成本,比如说$1、$2、$3 Excel文件2 带有项目代码的第1列,例如1、3和4 我想复制Excel文件1的所有第2列,粘贴到Excel文件2中,将匹配的内容粘贴到Excel文件2的第1列。如果列1不匹配,它将跳过数据 这可能吗 使用Excel函数(遗憾的是,它只在两个工作簿都打开时才起作用)。假设“数据源”工作簿位于“C:\Users\User\so
=INDIRECT(连接(“'C:\Users\User\[source.xls]Sheet1'!”,地址(匹配($A1,'C:\Users\User\[source.xls]Sheet1'!A:A),2,1,1)),1)
Sub Main()
Dim a As Application, b As workbook, s As Worksheet, i As Integer, iMax As Integer, v As Variant
Set a = GetInvisibleApplication
Set b = GetWorkbook(a, "C:\Users\Zerth\1.xls")
Set s = b.Worksheets(1)
iMax = GetLastRow(ActiveSheet)
For i = 1 To iMax Step 1
v = GetValue(s, Cells(i, 1).Value)
If Not IsNull(v) Then
Cells(i, 2).Value = v
End If
Next i
a.Quit
End Sub
Function GetInvisibleApplication() As Application
Set GetInvisibleApplication = New Application
GetInvisibleApplication.Visible = False
GetInvisibleApplication.DisplayAlerts = False
End Function
Function GetWorkbook(ByRef Application As Application, ByVal Path As String) As workbook
Application.Workbooks.Open Path
Set GetWorkbook = Application.Workbooks(Application.Workbooks.Count)
End Function
Function GetLastRow(ByRef Sheet As Worksheet)
GetLastRow = Sheet.Range("A:A").End(xlDown).Row
End Function
Function GetValue(ByRef Sheet As Worksheet, ByVal Key As Variant)
Dim i, iMax As Integer, Result As Variant
i = 0
iMax = GetLastRow(Sheet)
Result = Null
Do While IsNull(Result) And (i < iMax)
i = i + 1
If Sheet.Cells(i, 1).Value = Key Then
Result = Sheet.Cells(i, 2).Value
End If
Loop
GetValue = Result
End Function
Sub-Main()
将a作为应用程序,b作为工作簿,s作为工作表,i作为整数,iMax作为整数,v作为变量
设置a=GetInvisibleApplication
Set b=get工作簿(a,“C:\Users\Zerth\1.xls”)
设置s=b。工作表(1)
iMax=GetLastRow(ActiveSheet)
对于i=1到iMax步骤1
v=GetValue(s,单元格(i,1).Value)
如果不为空(v),则
单元(i,2)。值=v
如果结束
接下来我
a、 退出
端接头
函数GetInvisibleApplication()作为应用程序
设置GetInvisibleApplication=新应用程序
GetInvisibleApplication.Visible=False
GetInvisibleApplication.DisplayAlerts=False
端函数
函数GetWorkbook(ByRef应用程序作为应用程序,ByVal路径作为字符串)作为工作簿
Application.Workbooks.Open路径
设置GetWorkbook=Application.Workbooks(Application.Workbooks.Count)
端函数
函数GetLastRow(ByRef工作表作为工作表)
GetLastRow=Sheet.Range(“A:A”).End(xlDown).Row
端函数
函数GetValue(ByRef表作为工作表,ByVal键作为变量)
Dim i,iMax为整数,结果为变量
i=0
iMax=GetLastRow(图纸)
结果=空
Do While IsNull(结果)和(i
从[Sheet1$]中选择F2,其中F1=@参数处于关闭状态)