gpt4 book ai didi

vba - Excel VBA - 在工作表之间传输数据

转载 作者:行者123 更新时间:2023-12-02 22:00:34 26 4
gpt4 key购买 nike

我正在尝试比较一本工作簿中的两张工作表。我需要将第一个工作表的 A 列中的值与工作表 2 的 A 列进行匹配,如果找到匹配的值,则将工作表 2 的 E 列中的值复制并粘贴到工作表 1 的 E 列中。例如:

Sheet 1: A    B    C    D    E         Sheet 2:  A    B    C    D    E
k 9 b 3 k d 3 d 6
j 2 d 4 m h 4 g 3
s 3 u 9 j e 8 a 9
i 4 s 6 s i 9 t 7
o 7 n 8 l b 10 s 9
i c 4 p 8
o l 0 n 9

会变成

Sheet 1: A    B    C    D    E
k 9 b 3 6
j 2 d 4 9
s 3 u 9 7
i 4 s 6 8
o 7 n 8 9

我当前正在使用的代码是: 子合并类别值() 变暗 lngRow 一样长

With ActiveSheet 

lngRow = .Cells(65536, 1).End(xlUp).Row

.Cells(1).CurrentRegion.Sort key1:=.Cells(1), Header:=xlYes
Do

If .Cells(lngRow, 1) = Sheets("Sheet2").Cells(lngRow, 1) Then
.Cells(lngRow, 5) = Sheets("Sheet2").Cells(lngRow, 5)
End If

lngRow = lngRow - 1

Loop Until lngRow < 2

End With

End Sub

无论大小写,我都需要提取重复项。这可能吗?

感谢任何帮助。

提前谢谢您。

最佳答案

我已经编写了 VBA 代码:

Sub sof20355637MergeCategoryValues()
Dim i As Long, i2 As Long, lngRow As Long, lngRow2 As Long
Dim strKey As String
Dim wks1, wks2 As Worksheet
Dim objRange2

Set wks1 = Sheets("Sheet1")
Set wks2 = Sheets("Sheet2")

' get mximum rows of each sheet:
lngRow = wks1.Cells(wks1.Rows.Count, 1).End(xlUp).Row
lngRow2 = wks2.Cells(wks1.Rows.Count, 1).End(xlUp).Row

' we loop on the first column of sheet1:
For i = 1 To lngRow
strKey = wks1.Range("A" & i)
Set objRange2 = wks2.Range("A:A").Find(strKey, Range("A1"), SearchDirection:=xlPrevious)
If (Not objRange2 Is Nothing) Then
i2 = objRange2.Row
wks1.Range("E" & i) = wks2.Range("E" & i2)
End If
Next

Set objRange2 = Nothing
Set wks1 = Nothing
Set wks2 = Nothing

End Sub

一些图像:

工作表1:工作表2:

enter image description here enter image description here

合并工作表1:

enter image description here

关于vba - Excel VBA - 在工作表之间传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20355637/

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