我正在创建一种工具来跟踪公司中多个站点的项目人工成本。我遇到了一个实施此问题,因为并非每个月都在完成所有项目。因此,无论是否进行了工作,我都必须修改该工具以说明每个月的所有项目。
我需要在数据透视表中搜索17个单独的字符串,如果找到该字符串,则将该字符串下面的所有单元格复制到另一个计算成本的选项卡中。这种查找和复制功能是我遇到的问题。
我创建了一些代码,该代码复制了特定于字符串位置的数据,但是没有考虑到项目标题(字符串)在运行时每个月都在此表中的同一位置的事实。但是,将要复制此数据的位置不变。
感谢任何指导以帮助我入门...
答案 0 :(得分:0)
这是基于您在评论中发布的代码。我使用以下方法找到了所需范围:
Sub TRM0000()
Dim Ws As Worksheet
Dim firstRow As Long
Dim lastRow As Long
Dim column As Long
Dim Calc As Range
Set Ws = Sheets("PivotTable")
firstRow = 4
lastRow = Ws.Cells.Find(What:="*", SearchDirection:=xlPrevious).Row
column = Ws.Range("C3:Z3").Find(What:="TRM-0000", LookIn:=xlValues, LookAt:=xlWhole).column
Set Calc = Ws.Range(Ws.Cells(firstRow, column), Ws.Cells(lastRow, column))
Calc.Copy
Sheets("Cost Calc").Range("B5").PasteSpecial xlValues
End Sub
这应该是此特定项目标题的解决方案。但是,您说您有17个!我建议不要存储每个项目的代码,而建议存储17个项目标题(可以在工作簿的选项卡中或在VBA代码中枚举),创建一个for循环以遍历该列表,并生成项目标题和输出范围引用在VBA代码中是动态的。