我在VBA方面不是很好,但在这里发现了很多很棒的东西,所以请耐心等待。我试图看看类似问题的其他答案,但不明白解决方案是什么。循环此代码时出现运行时错误91。在我的Excel文档的一个选项卡中,我有一个成员名称和属性的列表,这些成员名称和属性都根据我粘贴它们的方式位于A列中。以下是一个示例:
会员姓名
乔史密斯会员角色
会长
会员姓名
Sheila Jones授权
会员角色
财务
会员姓名
比尔约翰逊授权副总统
我希望将它们粘贴到另一个选项卡中,其中包含A列中的所有名称以及它们各自在B列中的角色。一旦Excel到达列表末尾,我就希望它“清理”名称删除单元格中的“授权”文本。 这个单独的代码都可以正常工作,但我不能让它在循环中执行而不会返回运行时错误。由于我有很多这些列表,我希望自动化它,以便我可以将列表粘贴到一个选项卡,单击按钮,生成列表,然后重复另一个列表。我错过了什么?非常感谢你的帮助!
Sub Button1_Click()
Worksheets("Paste List Here").Activate
Do
Cells.Find(What:="Member Name", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True, SearchFormat:=False).Activate
ActiveCell.Delete
'this deletes the cell containing “Member Name”, so that when I loop the process, it will go onto the next name
ActiveCell.Copy
Worksheets("Final List").Activate
ActiveSheet.Paste
ActiveCell.Offset(0, 1).Select
Worksheets("Paste List Here").Activate
Cells.Find(What:="Member Role", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True, SearchFormat:=False).Activate
ActiveCell.Delete
'this deletes the cell containing “Member Role”, so that when I loop the process, it will go onto the next name
ActiveCell.Copy
Worksheets("Final List").Activate
ActiveSheet.Paste
ActiveCell.Offset(1, -1).Select
Worksheets("Paste List Here").Activate
Loop Until ActiveCell = ""
Worksheets("Final List").Activate
Worksheets("Final List").Columns("A").Replace _
What:="Authorized", Replacement:=" ", _
SearchOrder:=xlByColumns, MatchCase:=True
'this deletes the text within a cell to leave just the name
End Sub