将单元格内容从一列复制到同一工作表中的另一列---宏?

时间:2011-06-07 18:28:13

标签: excel vba excel-vba

我在E列中有帐号,并且需要将这些帐号复制到包含值的任何单元格的H列中。

最终结果将是E1 = H1,依此类推,直到所有E列单元都被复制到coulmn H中。

提前致谢!

2 个答案:

答案 0 :(得分:0)

Option Explicit

Public Sub x()

    Call copy_acct_nums("E", "H")

End Sub

Private Sub copy_acct_nums(copy_from_col, copy_to_col)

    Application.ScreenUpdating = False
    Dim i As Long

    With ActiveWorkbook.ActiveSheet

        For i = 1 To .UsedRange.Rows.Count Step 1
            .Cells(i, copy_to_col).Value = .Cells(i, copy_from_col).Value
        Next i

    End With

    Application.ScreenUpdating = True

End Sub

如果您需要应用此代码的多个工作表,则可以向复制子例程添加工作表参数。我会把它留给你:D

答案 1 :(得分:0)

另一种选择:

Sub copy()

  numrows = Cells.SpecialCells(xlLastCell).Row
  Range("E1:E" & numrows & "").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("H1")

End Sub

如果需要,列也可以作为变量传入。

Sub runCopy()

  Call copy("E", "H")

End Sub

Sub copy(col1, col2)

  numrows = Cells.SpecialCells(xlLastCell).Row
  Range("" & col1 & "1:" & col1 & "" & numrows & "").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("" & col2 & "1")

End Sub