gpt4 book ai didi

vba - 使用公共(public)列合并两个 Excel 文件

转载 作者:行者123 更新时间:2023-12-02 18:45:53 24 4
gpt4 key购买 nike

我有两张 Excel 工作表。我必须将两者合并,以便其中一个的值与另一个匹配。例如。

The first excel,    the 2nd excel

1 t 1 tes1
2 5 3 tes3
3 t 4 tes4
4 g

请注意,在第二个 Excel 的第一列中,缺少 2,因此我希望第一个 Excel 看起来像这样,

1 tes1 t
2 5
3 tes3 t
4 tes4 g

我是卓越新手。对此的任何帮助将不胜感激。

最佳答案

Sub left_join()
Dim res As Variant
Dim i As Long, lastUsedRowSh1 As Long, lastUsedRowSh2 As Long
Dim cell As Range
Sheets(3).Cells.ClearContents
Sheets(1).Range("a:b").Copy Destination:=Sheets(3).Range("a1")
Sheets(3).Columns(2).Insert Shift:=xlToRight
lastUsedRowSh1 = Sheets(1).Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
lastUsedRowSh2 = Sheets(2).Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
i = 1
For Each cell In Sheets(1).Range("a1:a" & lastUsedRowSh1)
On Error Resume Next
res = Application.WorksheetFunction.VLookup(cell.Value, Sheets(2).Range("a1:b" & lastUsedRowSh2), 2, 0)
If Err.Number = 0 Then
Sheets(3).Range("b" & i).Value = res
i = i + 1
Else
i = i + 1
End If
Next cell
End Sub

您甚至可以使用简单的公式来求解。

福里奥1

A   B
1 t
2 5
3 t
4 g

Folio2

A   B
1 tes1
3 tes3
4 tes4

Folio3

将 Foglio1 的内容复制到 Foglio3 中,然后运行此公式

=IF(ISERROR(VLOOKUP(Foglio1!A1,Foglio2!$A$1:$B$3,2,0))=TRUE,"",VLOOKUP(Foglio1!A1,Foglio2!$A$1:$B$3,2,0))

并将其向下拖动。问候。

enter image description here

关于vba - 使用公共(public)列合并两个 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com