循环将表数据复制到1个单元格中,然后将结果复制并粘贴到另一个表中

时间:2017-04-03 10:41:27

标签: excel vba excel-vba

下面,我有一些代码,它将数据E3到F3的数据复制到H列的下一个空单元格中。

import sys, os
for root, dir, files in os.walk('C:/Users/bla/bla/bla'):
    for file in files:
        if file.endswith('.csv'):
            os.system ('averagelist.py {}'.format(root + '\\' + file))  

我的工作表设置方式如下:

1)我的数据在单元格B3到C7

Private Sub CommandButton1_Click()

    Application.ScreenUpdating = False

    Dim copySheet As Worksheet
    Dim pasteSheet As Worksheet

    Set copySheet = Worksheets("Sheet1")

    copySheet.Range("e3:f3").Copy
    copySheet.Cells(Rows.Count, 8).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues

    Application.CutCopyMode = False
    Application.ScreenUpdating = True

End Sub

2)在单元格E3中,我有输入单元格,用于放置人员名称,在F3中我有一个vlookup,它返回附加到人名的值。

3)我需要发生的是我需要代码从单元格B3到B7循环遍历人员的名称,直到它到达一个空白单元格,所以首先将单元格B3中的人名称放入单元格E3,然后将这些数据从单元格E3:F3复制到另一个表格中。

4)我应该得到的是我在第一个数据表中的数据的克隆。我正在处理的实际excel表比这更复杂但是如果我能得到这样做的代码,它将为我提供一个基础来开始。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

这是一个大纲循环,可以帮助您入门。我并不清楚一切都在哪里,所以床单可能不对。

Private Sub CommandButton1_Click()

Application.ScreenUpdating = False

Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Dim r As Range

Set copySheet = Worksheets("Sheet1")

With copySheet
    For Each r In .Range("B3", .Range("B" & Rows.Count).End(xlUp))
        If Len(r) > 0 Then
            .Range("E3").Value = r.Value
            .Range("E3").Resize(, 2).Copy
            .Cells(Rows.Count, 8).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
        End If
    Next r
End With

Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub