我有两个不同的工作簿,其中一个我想根据多个标准复制某些值 .
在这个例子中,我将调用每个工作簿wb1和wb2 . 作为示例,在帖子的末尾将有共享的wb链接,以便更清楚地了解它的外观 .
所以在wb1中我有一个名字列表,它们在wb2中也有自己的表格 . 当我打开wb1时,我想将名为“NPS”的单元格下的值复制到wb2中具有相同名称的每个工作表中,在wb2中,我有不同的月份和一些其他的变量,我必须添加手册 . 所以我想要它做的是将值从NPS复制到NPS下的数据,并将其与wb1中也提到的同一个月匹配 .
到目前为止我所拥有的是这段代码,但它并没有真正实现它 . 因为我在这一部分得到了“超出范围”,设置sh2 = wb2.Sheets(c.Value) . 我猜测的是,它不能通过 Value 来识别纸张,即使它的命名也是相同的 .
Sub NPS()
Dim sh1 As Worksheet, sh2 As Worksheet, c As Range, wb2 As Workbook, fn As Range
Set sh1 = ThisWorkbook.ActiveSheet
Set wb2 = Workbooks.Open("F:\Excel\Chef\NPS Samtal 777 agentnivå.xlsx")
For Each c In sh1.Range("C8", sh1.Cells(Rows.Count, 3).End(xlUp))
Set sh2 = wb2.Sheets(c.Value)
Set fn = sh2.Rows(24).Find(sh1.Range("B5").Value, , xlValues, xlWhole)
If Not fn Is Nothing Then
fn.Offset(1) = sh1.Range("E5").Value
End If
Next
End Sub
WB2:https://docs.google.com/spreadsheets/d/1vcfnluE_PSm5dEEeHuBPA9XRoP-VPQRk3YDE7ONS-NE/edit?usp=sharing
如果有人有任何建议我会很高兴 .
//问丹尼尔
1 回答
看起来Excel正在寻找错误文件中的工作表 . 您需要在插入值之前激活正确的工作簿 . 像这样:
另请注意:ppsTest文件中的工作表未对齐(示例1中的NPS -tal位于不同的行中) .