gpt4 book ai didi

excel - 在 for 循环中复制偏移范围

转载 作者:行者123 更新时间:2023-12-04 08:04:30 25 4
gpt4 key购买 nike

我有一个脚本循环遍历 ID 号列表以检查另一个列表中是否有匹配的 ID,如果有匹配的 ID,它将复制相邻列中的电子邮件并将其粘贴到另一个范围中。我无法复制偏移范围,因为它似乎没有粘贴任何值。此脚本不会引发任何错误:

Sub tryThis()

Dim lookHere As Range, pasteHere As Range, cell As Range, searchList As Range

Set List1 = Range(Range("A1"), Range("A1").End(xlDown))
Set List2 = Range(Range("C1"), Range("C1").End(xlDown))

For Each cell In List1

Set found = List2.Find(what:=cell, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)

If Not found Is Nothing Then

cell.Offset(, 1).Resize(, 1).Copy Destination:=Cells(Rows.Count, "G").End(xlUp)

End If
Next cell

End Sub

最佳答案

这个:

cell.Offset(, 1).Resize(, 1).Copy _
Destination:=Cells(Rows.Count, "G").End(xlUp)
由于 End(xlUp),每次运行都会将值复制到同一个单元格中将您带到列中最后一个占用的单元格,而不是第一个空单元格。您需要 Offset()一个下降到下一个空位。也可以通过直接赋值来做到这一点:
Cells(Rows.Count, "G").End(xlUp).Offset(1, 0).Value = cell.Offset(0, 1).Value
编辑:如果您要复制的单元格来自列表 2,则:
Cells(Rows.Count, "G").End(xlUp).Offset(1, 0).Value = found.Offset(0, 1).Value

关于excel - 在 for 循环中复制偏移范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66294830/

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