laoau138 发表于 2016-10-4 12:04

用VBA实现循环粘贴多行数据

用VBA实现循环粘贴多行数据

grf1973 发表于 2016-10-4 20:58

Sub tt()
    arr = .CurrentRegion
    For i = 0 To 59
      Cells(i * UBound(arr) + 1, 6).Resize(UBound(arr), UBound(arr, 2)) = arr
    Next
End Sub

today0427 发表于 2016-10-4 21:04

大神,看了你写的代码,我就想死!:@
算了,还是不要脸的贴出来算了
Sub today() '循环粘贴
    Dim arr, brr(), i&, j&, k&, e&
    arr = Sheets("Sheet1")..CurrentRegion
    e = UBound(arr)
    ReDim brr(1 To e * 60, 1 To UBound(arr, 2))
    For i = 1 To e
      For k = i To 60 * e Step e
            For j = 1 To UBound(arr, 2)
                brr(k, j) = arr(i, j)
            Next
      Next
    Next
    Sheets("Sheet1").Columns("f:h").Clear
    Sheets("Sheet1")..Resize(e * 60, j - 1) = brr
End Sub

grf1973 发表于 2016-10-4 21:28

你的不是很好吗,虽然代码看得长一点,但运行速度快。

laoau138 发表于 2016-10-4 21:29

today0427 发表于 2016-10-4 21:04
大神,看了你写的代码,我就想死!
算了,还是不要脸的贴出来算了

Sub 循环拷贝()
Dim i As Integer
Dim arr As Variant
With Sheet1
arr = .Range("a1").CurrentRegion
For i = 1 To 60
.Cells(Rows.Count, 6).End(xlUp).Offset(1).Resize(UBound(arr), UBound(arr, 2)) = arr
Next i
End With
End Sub


laoau138 发表于 2016-10-4 21:30

today0427 发表于 2016-10-4 21:04
大神,看了你写的代码,我就想死!
算了,还是不要脸的贴出来算了

按你的办了

laoau138 发表于 2016-10-4 21:31

grf1973 发表于 2016-10-4 20:58


结果不是从第一行输出啊

today0427 发表于 2016-10-4 21:33

你这个没老师那个好!;P

today0427 发表于 2016-10-4 21:36

laoau138 发表于 2016-10-4 21:30
按你的办了

应该的应该的,学到真本事才是最重要的,我就希望能有大神一起答题, 比我自己在那儿写十个题都有帮助,这样进步才快呢!:lol

laoau138 发表于 2016-10-4 21:39

本帖最后由 laoau138 于 2016-10-4 21:43 编辑

today0427 发表于 2016-10-4 21:36
应该的应该的,学到真本事才是最重要的,我就希望能有大神一起答题, 比我自己在那儿写十个题都有帮助, ...
用VBA把每列前5大数的单元格填充为红色


http://www.excelpx.com/thread-424861-1-1.html

用VBA实现垂直一相连和斜对角线优化再优化


http://www.excelpx.com/thread-424862-1-1.html

页: [1] 2
查看完整版本: 用VBA实现循环粘贴多行数据