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