gpt4 book ai didi

vba - 从范围复制并过去在另一张工作表中的下一个空单元格中

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

我想有一些提示来启动 VBA 代码:

我有 2 张纸。 sheet(2) 的每一行在每个单元格中都有文本,但在它们之间可以有一些空单元格。
我的目标是从 sheet(2) 的第 1 行开始从 A1 复制到 E1 并将其传递到 sheet(1) 第 1 行,但它们之间没有空单元格。

我编辑我的帖子是因为我没有考虑到这个重要的细节。我想删除同一行中的任何重复项,但保留第一个条目。

并重复操作直到最后一行。

数据示例:

工作表(2):
行 1 单元格 1、单元格 2、单元格 3、单元格 4、单元格 5:

**ABC**,   ,DEF,**ABC**,GHI

行(2)单元格1,单元格2,单元格3,单元格4,单元格5:
ZZZ,  ,   ,   ,YEU

预期结果:
工作表(1):
行 1 单元格 1、单元格 2、单元格 3、单元格 4、单元格 5:
**ABC**,DEF,GHI,  ,    , 

行(2)单元格1,单元格2,单元格3,单元格4,单元格5:
ZZZ,YEU,   ,   ,

提前谢谢你的帮助!

最佳答案

尝试这个:

Sub stack_overflow()
Dim lngLastRow As Long
Dim xNum As Long
Dim xCell As Range
Dim shtFrom As Worksheet
Dim shtTo As Worksheet
Dim lngColCount As Long

'Change the two lines below this to change which sheets you're working with
Set shtFrom = ActiveWorkbook.Sheets(2)
Set shtTo = ActiveWorkbook.Sheets(1)

lngLastRow = shtFrom.Cells.Find(What:="*", After:=Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row

For xNum = 1 To lngLastRow
lngColCount = 1
For Each xCell In shtFrom.Range("A" & xNum & ":E" & xNum)
If xCell.Value <> "" Then
If shtTo.Range("A" & xNum & ":E" & xNum).Find(What:=xCell.Value, LookIn:=xlValues, Lookat:=xlWhole) Is Nothing Then
shtTo.Cells(xNum, lngColCount).Value = xCell.Value
lngColCount = lngColCount + 1
End If
End If
Next xCell
Next xNum

End Sub

关于vba - 从范围复制并过去在另一张工作表中的下一个空单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31256487/

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