将上次使用的列复制并粘贴到下一个可用列中

时间:2013-09-26 12:47:49

标签: excel vba

我知道这可能已经得到了回答,但我已经搜索过以前的问题,找不到适合我的答案。

基本上我有一个excel电子表格,可以根据工作流程每日/每周/每月更新一次。我需要的是一个宏,它找到最后一个'使用过的'列(标题在第5行),直接在其右边插入一个空白列 - (我们在末尾有一个需要移动的总计表)&将最后使用的所有列数据复制到新创建的列中。

这可能是一个非常简单的代码,但我刚开始使用VBA并希望有人可以提供帮助!!我希望,一旦我开始做一些点点滴滴,我就可以积累我的知识!

提前致谢

艾玛

2 个答案:

答案 0 :(得分:2)

从这里开始:Copy last column with data on specified row to the next blank column和此处:Excel VBA- Finding the last column with data

Sub Test()

    Dim ws As Worksheet

    Set ws = ActiveSheet
    Dim rLastCell As Range
    Dim LastCol As Integer

    Set rLastCell = ws.Cells.Find(What:="*", After:=ws.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
    xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)

    LastCol = rLastCell.Column

    ws.Columns(LastCol).Copy ws.Columns(LastCol + 1)

End Sub

答案 1 :(得分:1)

懒惰的极简主义解决方案:

Sub Macro1()
Dim col As Integer
col = Range("A5").End(xlToRight).Column
Columns(col).Copy
Columns(col + 1).Insert Shift:=xlToRight
End Sub

如果单元格A5中没有任何内容,这将会崩溃。