循环时运行时91错误

时间:2017-06-08 20:45:44

标签: excel vba excel-vba runtime-error

我在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

0 个答案:

没有答案