Vba 如何在excel中复制行并将值从一个单元格复制到另一个单元格?
如何使用VBA或条件语句在excel中复制行3或4次,然后将值从一个单元格复制并粘贴到另一个单元格 这就是数据的样子 这就是我想要的结局 更新:在下面的代码中,我想将merge复制到第176、177178、179、180行,效果很好,但是删除了1列和176列之间的所有列Vba 如何在excel中复制行并将值从一个单元格复制到另一个单元格?,vba,excel,Vba,Excel,如何使用VBA或条件语句在excel中复制行3或4次,然后将值从一个单元格复制并粘贴到另一个单元格 这就是数据的样子 这就是我想要的结局 更新:在下面的代码中,我想将merge复制到第176、177178、179、180行,效果很好,但是删除了1列和176列之间的所有列 Sub SortMacro() Dim SourceSheet As Worksheet Dim OutSheet As Worksheet Set SourceSheet = ActiveSheet Set OutShe
Sub SortMacro()
Dim SourceSheet As Worksheet
Dim OutSheet As Worksheet
Set SourceSheet = ActiveSheet
Set OutSheet = Sheets.Add
With SourceSheet
Out_i = 1
For r = 1 To .Cells(Rows.Count, 176).End(xlUp).Row
For i = 176 To 180 'or For each i in Array(3,4,5)
OutSheet.Cells(Out_i, 1) = .Cells(r, 1)
OutSheet.Cells(Out_i, 176) = .Cells(r, i)
Out_i = Out_i + 1
Next
Next
End With
End Sub
MyRange.OffsetRowOffset,ColumnOffset.Value=MyRange.Value打开VBA edior Alt-F11。创建新的VBA模块rightclik到VBA项目,插入,模块。将此代码复制到新模块。使用源数据运行代码选择表,然后单击VBA代码文本中的任意位置,然后按F5
Sub SortMacro()
Dim SourceSheet As Worksheet
Dim OutSheet As Worksheet
Set SourceSheet = ActiveSheet
Set OutSheet = Sheets.Add
With SourceSheet
Out_i = 1
For r = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
For i = 3 To 5 'or For each i in Array(3,4,5)
OutSheet.Cells(Out_i, 1) = .Cells(r, 1)
OutSheet.Cells(Out_i, 2) = .Cells(r, i)
Out_i = Out_i + 1
Next
Next
End With
End Sub
谢谢差不多了,但我有大约20列,我只想分开三列,例如G列,K列,L列,我想保持所有内容不变,内部循环通过列循环。您可以将其更改为For each i in Array3,5,6,8,9,以获得所需的任何列。我希望合并从176-180开始的列。它工作正常,但会删除或不显示第1列和第176列之间列上的所有单元格内容。change OutSheet.CellsOut_i,176=.Cellsr,i to OutSheet.CellsOut_i,2=.Cellsr,i