0

假设我有一个宏,它将一个数字从单元格 A1 复制并粘贴到单元格 B1,从单元格 A2 到 B2 等。我记录了这个宏。如果我在 A 中有一列数字,我将如何多次运行宏而不必为每个都手动运行它?

这是示例:

    A    B
    1    1    #copies number from column A to column B
    2    2

我不想在 A 中的每个单元格上按热键来运行宏。我想同时为 A 列中的所有值运行宏。

4

2 回答 2

2

你不能这样做:

Columns("A").Copy Range("B1")

这会将所有 A 列复制到 B 列。

于 2013-08-16T20:07:32.420 回答
1

试试这个。这将倒计时,直到三个被减去到 0。您可以将其替换为填充了多少行的计数 - 1。

Sub Test()
Call RunMainMacro(3) 'run macro 3 times
End Sub

Sub RunMainMacro(ByRef Times)
Do
    Application.Run " 'project1.xlsm'!MainMacro"
    Times = Times - 1
    DoEvents
Loop Until Times = 0
End Sub

于 2013-08-16T18:17:24.870 回答