我需要自动化一个不是一次性事件的流程,大约500个设施,每个设施都有100+资产,这些资产都计划在全年不同的日期完成。我有一个工作簿和我的主/源工作表以及12个月的工作表(1月,2月,3月,...12月)。我需要的是某种代码,它允许我搜索特定的日期,并将它以及其他相同行的对应数据发送到适当的工作表。
例如,我有一项资产将于2011年6月17日到期进行维护。我需要Excel仅使用月份进行搜索,并将该资产及其名称、说明、成本等移动到6月选项卡中。我设法让它找到了搜索"6/“的资产,但它找不到日期为6/17/11的资产。它复制所有需要的数据,并尝试将其移动到适当的工作表,当它进行此尝试时,会弹出Microsoft Visual Basic错误代码400。有什么想法吗?感谢大家的帮助。
发布于 2010-12-02 22:19:26
看看这是否有帮助..。
Private Sub FindCells()
'' step 1, find all the rows containing your date (June 2011 dates hardcoded in this example)
Dim CollectionOfRowRanges As New Collection
Dim ws As Worksheet
Dim rgCell As Range
For Each ws In ThisWorkbook.Worksheets
For Each rgCell In ws.UsedRange.Cells
If IsDate(rgCell.Text) Then
If Month(CDate(rgCell.Value)) = 6 And Year(CDate(rgCell.Value)) = 2011 Then
'' for debugging only ... watch and make sure it stops at the right places
ws.Activate
rgCell.Select
Stop
'' end of debug code
Call CollectionOfRowRanges.Add(rgCell.EntireRow)
End If
End If
Next rgCell
Next ws
'' step 2, copy the rows to a new wb
Set ws = Workbooks.Add.Sheets(1)
ws.Name = "June 2011 Rows"
Dim rgRow As Range
Set rgCell = ws.Cells(1, 1)
For Each rgRow In CollectionOfRowRanges
Call rgRow.Copy
Call rgCell.EntireRow.PasteSpecial(xlPasteValues)
Set rgCell = rgCell.Offset(1)
Next rgRow
End Subhttps://stackoverflow.com/questions/4328477
复制相似问题