你好我是这个网站的新手并注册,希望有人能帮我解决excel问题中的这个vb。
我在marco / vb中不是很好,但不知何故可以阅读代码。我觉得使用vb是解决这个问题的唯一方法。
我在工作簿中有两张工作表,比如sheet1和sheet2。
我想将sheet1的A2的值(仅文本,无格式)复制到B2到B2的B7六次。
然后,将sheet1的A3复制到B8,再复制到sheet2的B13,然后再次复制,直到它到达A列sheet1中的空白单元格。
鉴于我对vba的知识有限,我无法提供样本代码,因为我认为这个网站需要。但是你提出的建议将在整个过程中帮助我;上面的场景是准确的,但不是具体细节。一旦我至少知道在哪里/如何开始,我可以调整我正在做的实际工作表。 你觉得它可能吗?希望有人可以提供帮助。在此先感谢!!!
答案 0 :(得分:1)
我认为这会奏效。您需要适当更改范围参考。
Sub CopyVals()
Dim copyRng As Range, cl As Range, rw As Integer
Set copyRng = Worksheets("Sheet1").Range("A2:A4") //You should change this accordingly
rw = 2
With Worksheets("Sheet2")
For Each cl In copyRng
cl.Copy
.Range("B" & rw & ":B" & rw + 5).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
rw = rw + 6
Next cl
End With
End Sub
根据OP评论进行更新
如果你想让代码工作到下一个空单元格,最简单的方法是更新代码,如下所示:
Set copyRng = Worksheets("Sheet1").Range("A2:A" & Worksheets("Sheet1").Range("A2").End(xlDown).Row)
试一试,看看它是否适合你。