gpt4 book ai didi

excel - 如何循环复制列中空白单元格后面的数据并将其粘贴到最后一个空列?

转载 作者:行者123 更新时间:2023-12-03 00:18:55 26 4
gpt4 key购买 nike

我需要复制 A 列(位于空格之间)中的数据 block 并将其粘贴到最后一个空列。示例:我在范围 A1:A18 和一个空白单元格中有数据,在 A20:A37 和 2 个空白单元格中有数据,在 A40:A57 中有数据,依此类推。我需要复制这些数据并粘贴到 B、C、D 列......

空白的图案不统一。

Excel文件截图
enter image description here

我在互联网上做了一些研究,并创建了一个代码,将 A 列中手动选择的数据粘贴到最后一个空列。但这个列表太长了,我想自动化这个过程。

我尝试使用此代码来查找空格并复制数据。它找到最后一个空白行并复制所有数据,弹出错误。

Sub Pasting_Data_to_last_column()
Dim xWs As Worksheet
Dim rng As Range
Dim lastCol As Long

Sheets("Input").Activate
Application.ScreenUpdating = False

'finds the number of the last column
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column

Range("A1", Cells(Rows.Count, 1).End(xlUp)).Copy

'paste the copied value to last empty column
Cells(1, lastCol + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub

我相信这个问题可以通过循环解决,但我对此没有任何想法,因为我是 VBA 新手。

最佳答案

试试这个,它使用 SpecialCells 来提取单元格 block (或区域)。它假设单元格不包含公式,因此如果情况并非如此,则需要更改。

Sub x()

Dim r As Long

For r = 2 To Columns(1).SpecialCells(xlCellTypeConstants).Areas.Count
Columns(1).SpecialCells(xlCellTypeConstants).Areas(r).Copy
Cells(1, Columns.Count).End(xlToLeft).Offset(, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Next r

End Sub

关于excel - 如何循环复制列中空白单元格后面的数据并将其粘贴到最后一个空列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54004025/

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