这是对位于此处的先前询问和回答的问题的直接引用:自动更新工作簿的其他 Excel 工作表中的数据
该脚本工作正常,但由于某种原因,它并没有提取整个列表。以下是我为解决方案而编辑的代码。我没有使用这第一块代码:
_
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Call UpdateFromMaster
End Sub
这是我在标准模块中使用的:
_
Sub UpdateFromMaster()
Call ResetDestinationSheets
Dim LR As Long, i As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To LR
If Range("Q" & i).Value = "Todd" Then Rows(i).Copy Destination:=Sheets("Todd").Range("A" & Rows.Count).End(xlUp).Offset(1)
If Range("Q" & i).Value = "Bob" Then Rows(i).Copy Destination:=Sheets("Bob").Range("A" & Rows.Count).End(xlUp).Offset(1)
If Range("Q" & i).Value = "Trevor" Then Rows(i).Copy Destination:=Sheets("Trevor").Range("A" & Rows.Count).End(xlUp).Offset(1)
Next i
End Sub
_
Sub ResetDestinationSheets()
Call ResetThisSheet("Todd")
Call ResetThisSheet("Bob")
Call ResetThisSheet("Trevor")
End Sub
_
Sub ResetThisSheet(ByRef SheetToClear As String)
Sheets(SheetToClear).Range("A2:S" & Rows.Count).Clear
End Sub
_
现在,运行 UpdateFromMaster 宏后,我的主列表,宏似乎工作正常。直到我检查每个工作表(Todd、Bob 和 Trevor)中的潜在客户数量。Bob 应该有 39 个,Todd 应该有 243 个,Trevor 应该有 62 个。运行宏时,它只向 Todd 的工作表发送 105,向 Bob 的工作表发送 39(这是正确的),向 Trevor 的发送 51。我在所有工作表上都有一个标题行,包括硕士。
当我解决这个问题时,我清除了所有工作表上的所有格式,并仔细检查了“Q”列中的所有内容是否拼写正确。
关于我做错了什么的任何想法?