Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 循环行并将单元格值复制到另一个工作表_Vba_Excel - Fatal编程技术网

Vba 循环行并将单元格值复制到另一个工作表

Vba 循环行并将单元格值复制到另一个工作表,vba,excel,Vba,Excel,意图:我在工作表(输入)中有一个数据列表。列BN(具有值的行数将有所不同,因此我创建了一个循环,将运行宏,直到活动单元格为空) 我的宏从范围(BN2)开始,一直向下延伸到列BN,只有当它碰到一个空行时才会停止。宏的理想结果是开始复制工作表(输入).Range(BN2)中的单元格值,并将其粘贴到工作表(输出).Range(A2:A10)中 例如,如果“Peter”是单元格工作表(输入)、范围(BN2)中的值,则当marco运行并将该值粘贴到工作表(输出)范围(A2:A10)中时。i、 范围A2:A

意图:我在工作表(输入)中有一个数据列表。列BN(具有值的行数将有所不同,因此我创建了一个循环,将运行宏,直到活动单元格为空)

我的宏从范围(BN2)开始,一直向下延伸到列BN,只有当它碰到一个空行时才会停止。宏的理想结果是开始复制工作表(输入).Range(BN2)中的单元格值,并将其粘贴到工作表(输出).Range(A2:A10)中

例如,如果“Peter”是单元格工作表(输入)、范围(BN2)中的值,则当marco运行并将该值粘贴到工作表(输出)范围(A2:A10)中时。i、 范围A2:A10将反映“彼得”。然后宏循环回工作表(输入),复制下一个单元格值并将其粘贴到范围(A11:A19)例如:“Dave”是工作表(输入)范围(BN3)中的值,然后“Dave”将粘贴到工作表(mywork)范围(A11:A19)中的下9行。A11:A19将反映“Dave” 再次重复相同的过程返回到工作表(输入)这个时间范围(BN4),将值复制到工作表(输出)并将其粘贴到A20:A29中。 这个过程基本上是重复的

当工作表(输入)列A中的活动单元格为空时,宏结束。

此操作:

Option Explicit

Sub MakeNameColumn()
' http://stackoverflow.com/questions/32804087/looping-through-rows-and-copy-cell-values-to-another-worksheet
' 2015-09-27 E/S/P

    Dim shIn As Worksheet, shOut As Worksheet
    Dim data As String
    Dim j As Long, inCol As Long, inPos As Long, outPos As Long

    Set shIn = Sheets("input")
    Set shOut = Sheets("output")
    outPos = 2
    inPos = 2
    inCol = Columns("BN").Column
    Do
        data = shIn.Cells(inPos, inCol).Text
        If data = "" Then Exit Do
        ' copy to output sheet
        For j = 0 To 8
            shOut.Cells(outPos + j, 1).Value = data
        Next j
        outPos = outPos + 9
        inPos = inPos + 1
    Loop
    shOut.Activate
End Sub
代码很简单,它将向您展示如何使用组成VBA宏的元素:声明、寻址单元格、获取单元格内容、循环、尽可能避免“.select”语句,以及其他一些


但很明显,这不是一个“代码外卖”服务。我看得出你有困难。一旦您变得更加熟练,请让其他人开始使用StackOverflow上的VBA。

关于此请求的任何更新,请有人在优先注意事项上帮助我。您对哪一部分有问题?如果你不知道任何VBA,那么这里可能不是你想要的地方:如果你知道一些VBA,那么最好发布你所有的代码,即使它不工作。