这个问题符合以下问题:
Visual Basic move all other columns to create one long column B
我用了最好的答案:
sub ss()
Dim col As Range
For Each col In Worksheets("Sheet1").Columns
If (col.Column > 1 And col.Column < 171) Then
Range(col.Rows(1), col.Rows(15)).Select
Selection.Cut
'Select cell at bottom of A
ActiveSheet.Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste 'Paste
End If
Next col
End Sub
现在这样可行,但它将Excel工作表中的所有列都拼贴到一个列中。我想要做的只是在运行宏而不是整张表时对选定的列执行此操作。
这可能吗?怎么样?
答案 0 :(得分:0)
喜欢这个吗?
Sub Sample()
Dim col As Range
For Each col In Selection.Columns
If col.Column > 1 And col.Column < 171 Then
Range(col.Rows(1), col.Rows(15)).Select
Selection.Cut
ActiveSheet.Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End If
Next col
End Sub