提问人:DJAMES152 提问时间:11/15/2023 最后编辑:DJAMES152 更新时间:11/16/2023 访问量:88
我正在尝试为我的工作创建我的第一个 excel 宏,但我遇到了错误
I am trying to create my first excel macro for my job, but I am getting errors
问:
我正在将 Microsoft Excel 与 365 一起使用。
这个宏是我新工作的每周/每月报告。
我首先让它在 A 列和 C 列中设置两个空白列,
然后我将这些列重命名为我想要的名称。在本例中为“更新”和“NPI 匹配”。
然后,我让它过滤掉我其他列中的一些我不想要数据的保险计划。
我打开了一个完全不同的工作簿,其中包含有关合格处方者的数据,我复制了该工作簿的第 2 列,其中包含我们合格处方者的 NPI 编号列表。
我回到我的原始工作簿,其中有一个列 B,其中包含符合条件的和不符合条件的处方者列表,我创建一个新工作表并将复制的列粘贴到新工作表中。我将这张纸命名为“NPI”。
然后,我回到原始工作簿的“工作表 1”,然后进入 C 列的“单元格 C2”(整个第一行都是标题)。在这个单元格中,我制作了一个 =COUNTIF(NPI,B2) 的 countif 公式并按回车键。然后我自动填充该列一直向下。
现在,这是从“NPI”表中获取符合条件的处方者以及旁边的“B2 列”中的数据并进行比较。然后,我从这个新列中过滤掉不合格的处方者(过滤器中的 0),只剩下符合条件的处方者(过滤器中的 1 个)。
在完成所有这些步骤后,我结束了我的宏,但是当我尝试在相同数据的新日期运行宏时,我收到以下错误。
“运行时错误'9':
下标超出范围”
我运行我的调试器,它在下面的链接中向我展示了这一点。关于发生了什么和/或如何解决它的任何线索?
Selection.Copy
Windows("11-14-2023macrotestsheet1.xlsx").Activate
Sheets.Add After:=ActiveSheet
Columns("A:A").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Names.Add Name:="NPI", RefersToR1C1:= _
"=Sheet2!R1C1:R1048571C1"
Sheets("Sheet1").Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(NPI,B2)"
Range("C2").Select
Selection.FillDown
ActiveWindow.ScrollColumn = 2
我的宏有问题吗?当我从第二个工作簿中获取我的 NPI 列表时,我觉得这可能是一个工作簿与另一个工作簿通信的错误。让我知道。
答: 暂无答案
评论
macrotestsheet1.xlsx
Activate
Windows
Workbook
Dim wb As Workbook
Set wb = Workbooks("macrotestsheet1.xlsx")
macrotestsheet1.xlsx