好的,我知道如何正常地做到这一点,但我正在使用一些我不是特别熟悉的编码,而且我无法让它工作。此代码使用日期搜索所有工作表,并在“报表”选项卡上粘贴具有该日期的行。不幸的是,它粘贴的是公式而不是值。
For shtNum = 5 To Worksheets.Count
'Search Column a for date(s)
With Sheets(shtNum).Columns(2)
Set d = .Find(MyDate)
If Not d Is Nothing Then
firstAddress = d.Address
Do
'Copy each Row where date is found to next empty Row on Summary sheet
d.EntireRow.Copy Sheets("Reports").Range("A" & nxtRw)
nxtRw = nxtRw + 1
Set d = .FindNext(d)
Loop While Not d Is Nothing And d.Address <> firstAddress
End If
End With
Next
此代码效果很好,但因为我不确定如何
d.EntireRow.Copy Sheets("Reports").Range("A" & nxtRw)
它做了什么,我不知道如何编辑代码并使其工作。
答案 0 :(得分:4)
替换:
d.EntireRow.Copy Sheets("Reports").Range("A" & nxtRw)
使用:
d.EntireRow.Copy
Sheets("Reports").Range("A" & nxtRw).PasteSpecial Paste:=xlPasteValues