Excel VBA-需要将数据放入下一行,并从现有位置删除
在同一张工作表上,我尝试压缩所有单元格数据,即移动所有具有值的单元格,使其彼此相邻,而不是分散。原始工作表如下所示: 所需的输出如下: 我尝试了下面的代码来解决这个问题,很抱歉我是新来的,所以不知道如何提问Excel VBA-需要将数据放入下一行,并从现有位置删除,vba,excel,Vba,Excel,在同一张工作表上,我尝试压缩所有单元格数据,即移动所有具有值的单元格,使其彼此相邻,而不是分散。原始工作表如下所示: 所需的输出如下: 我尝试了下面的代码来解决这个问题,很抱歉我是新来的,所以不知道如何提问 Sub SelectRangea() Sheets("Sheet1").Select Range("a1:cf1").Select Application.CutCopyMode = False Selection.Copy With Sheets("She
Sub SelectRangea()
Sheets("Sheet1").Select
Range("a1:cf1").Select
Application.CutCopyMode = False
Selection.Copy
With Sheets("Sheet1")
lst = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & lst).PasteSpecial xlPasteColumnWidths
.Range("A" & lst).PasteSpecial xlPasteValues
End With
End Sub
这段代码根据您的示例数据解决了这个问题
Dim c As Long
c = 1
With Worksheets("sheet6")
c = .Cells(1, c).End(xlToRight).End(xlToRight).Column
Do While c < .Columns.Count
With .Range(.Cells(1, c), .Cells(1, c).End(xlToRight))
.Parent.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, .Columns.Count) = .Cells.Value
.Clear
End With
c = .Cells(1, c).End(xlToRight).Column
Loop
End With
如果第一行中的一个“孤岛”数据是单个单元格,那么您将不得不适应这种特殊情况。您似乎觉得这是一种代码编写服务,您发布了一个模糊的需求列表和您选择的语言,而这里的一些代码猴子会大量编写代码来满足这些需求。你错了。我们很乐意提供帮助,但我们希望您先自己努力解决这个问题。当您这样做并遇到困难时,您可以解释您遇到的问题,发布您编写的代码的相关部分,并提出与该代码相关的特定问题,我们将尽力帮助您解决。