Excel vba重复代码,直到a列为空

Excel vba重复代码,直到a列为空,excel,vba,loops,foreach,do-while,Excel,Vba,Loops,Foreach,Do While,如何创建重复代码直到列a值为空的代码 这是我的密码 Sheets("sheet4").Select Sheets("sheet4").Range("$A$1:$AG$2336").AutoFilter Field:=1, Criteria1:= _ Sheets("sheet1").Range("a3") Sheets("sheet4").Range("a1:a

如何创建重复代码直到列a值为空的代码

这是我的密码

Sheets("sheet4").Select
Sheets("sheet4").Range("$A$1:$AG$2336").AutoFilter Field:=1, Criteria1:= _
   Sheets("sheet1").Range("a3")
Sheets("sheet4").Range("a1:ad1").find(Sheets("sheet1").Range("L3").Value).offset(2, 0).Select
       Do Until ActiveCell.EntireRow.Hidden = False
         ActiveCell.offset(2, 0).Select
       Loop
Selection.Copy Sheets("sheet1").Range("b3")
Sheets("sheet1").Select
End Sub

我需要向下复制我的选择,直到a列结束(我的意思是a列中的单元格将为空)。你能帮我吗???

用变量替换3,并将代码放入循环中

选项显式
次宏()
将wb设置为工作簿
将ws1标注为工作表,将ws4标注为工作表
淡可乐,可乐,牛奶,只要
设置wb=ThisWorkbook
设置ws1=wb.Sheets(“Sheet1”)
设置ws4=wb.Sheets(“Sheet4”)
ws4.选择
iRow=3
colA=ws1.单元格(iRow,“A”)
当Len(可乐)>0时做
colL=ws1.单元格(iRow,“L”)
如果Len(colL)>0,则
'应用过滤器
ws4.范围(“A1:AG2336”)。自动筛选字段:=1,准则1:=colA
'复制筛选的数据
范围(“A1:AD1”)。查找(colL)。偏移量(2,0)。选择
直到ActiveCell.EntireRow.Hidden=False为止
ActiveCell.Offset(2,0)。选择
环
Selection.Copy ws1.Range(“B”和iRow)
'
如果结束
'列A中的下一个值
iRow=iRow+1
colA=ws1.单元格(iRow,“A”)
环
MsgBox iRow-3&“扫描到的行”&ws1.Name,vb信息
端接头

。是的,但我的数据随时可能更改。我还想知道我怎样才能抄下来。从表格(“sheet1”)中获取值。范围(“a3”)在表格(“sheet4”)中过滤复制此值表格(“sheet4”)。范围(“a1:ad1”)。查找(表格(“sheet1”)。范围(“L3”)。值)。偏移量(2,0)之后粘贴到表格1范围b3中,并向下获取表格(sheet1)中的下一个值。范围(a4)同样的,你能发布一些截图来解释你想做什么吗?也许可以分享一个实用的例子,比如if Sheet!A3=“测试”然后在。。。非常感谢,我是vba新手,我不了解循环是如何工作的,这就是为什么我不能这样做。