我使用excel和VBA使用下表的内容附加单元格。从表1中收集数据。代码首先检查B(2)列中的选项是op1
,然后应该读取A(1)列的内容并附加单元格D2({{{表2中的1}}。
然后使用循环遍历表1中的所有值,然后应该连续填充表2,直到超出设置限制(3)。
表1:
op1
表2:
A B
--- ---
text op1
textt op2
text op1
我使用的代码如下。
D
---
op1
*** The Cell I want to Append ***
答案 0 :(得分:3)
Option Explicit
Sub ProcOne()
Dim OpColMain As Long
Dim TextColMain As Long
Dim opColOne As Long
Dim i As Long
opColOne = 4
TextColMain = 1
OpColMain = 2
i = 1
Do Until i >= 3
With ActiveSheet
If .Cells(i, OpColMain) = "op1" Then
.Cells(2, opColOne) = .Cells(2, opColOne) & vbNewLine & .Cells(i, TextColMain)
End If
i = i + 1
End With
Loop
End Sub
您需要Option Explicit
,以确保正确声明所有变量。
您需要With ActiveSheet
,因为没有它,您可能会在Excel中收到错误。因此,你
将.Cells
声明为ActiveSheet而不只是Cells
。请在此处查看Microsoft信息:Worksheet.Cells Property (Excel)。
最后但并非最不重要的是i = i + 1
应该在循环之外,以确保我们离开无限循环。或者在里面,取决于代码和案例。但在这种情况下,我们只有3条线 - 外面。
最终编辑 - 如果你想循环3次,请使用Do Until i >= 3
,否则你只循环两次。