如何将Excel工作表中的选定列平铺为一个大列,仅选中

时间:2012-02-16 12:33:55

标签: excel-vba excel-2010 visual-studio-macros vba excel

这个问题符合以下问题:

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工作表中的所有列都拼贴到一个列中。我想要做的只是在运行宏而不是整张表时对选定的列执行此操作。

这可能吗?怎么样?

1 个答案:

答案 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