【问题标题】:Using a Loop to Copy and Paste使用循环复制和粘贴
【发布时间】:2018-01-05 20:15:30
【问题描述】:

我是一名初学者 VBA 编码器,一直在尝试弄清楚如何在我的电子表格中使用循环。我试图整理我拥有的贷款信息集合,但作为我问题细节的基本框架,我在工作簿的第一个工作表的列(“A:A”)中生成了以下随机数:

5 241 4 5 648 87 65 74 52 1

我使用的循环是:

Sub LoopTest()
Dim i As Integer
For i = 1 To 10 
    Range(i,1).Select.Copy Destination:=Range(i,5)
Next i 

所以基本上我试图复制第 1 行第 1 列中的第一个单元格并将其粘贴到第 1 行第 5 列,然后循环到第 2 行第 1 列并将其粘贴到第 2 行第 5 列等.直到我遍历第10行。最好,我想从第一行数据循环到最后一行数据(我知道这是可能的),但我不知道该怎么做。

谢谢。

【问题讨论】:

    标签: vba loops copy paste


    【解决方案1】:

    我不确定您为什么需要逐行执行此操作。您不能复制 A1:A:10 并将其粘贴到 E1:E10 吗?这将使您不必循环。如果要复制,则可以通过 Range.Copy 调用来完成:

    范围(“A1”).复制范围(“E1”)

    这会将 A1 复制到 E1。

    【讨论】:

    • 没错,我可以使用更简单的子函数复制和粘贴它,但我试图在一个非常基本的前提下练习循环,以便能够将它构建到更复杂的过程中。我的目标是遍历我拥有的数据,执行一个数学方程式,然后粘贴到另一个单元格并遍历每一行数据。
    • 我现在明白这是一个学习练习。如果要操作数据,最好将变量设置为单元格中的值,执行计算,然后将值设置为等于新值的新单元格。可以像这样为变量设置值(假设要操作的工作表的标题为 Sheet1,并且新值应该进入单元格 E1): Worksheets("Sheet1").Range("E1").Value = 新值
    猜你喜欢
    • 2016-11-09
    • 2023-01-20
    • 2015-12-02
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 2019-01-23
    相关资源
    最近更新 更多