2017-01-10 13 views
1

これを通常どおりに行う方法はわかっていますが、私は特に慣れていないコーディングを使用しています。このコードでは、日付を使用してすべてのワークシートを検索し、その日付の行を[レポート]タブに貼り付けます。残念ながら、値ではなく数式を貼り付けています。式の値を貼り付けます。

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) 

が、それは、私がコードを編集し、それを動作させる方法がわからないん何をどのようにわからないからです。

+1

'd.EntireRow.Value = Sheets.Range( "A" &nxtRw).EntireRow.Value' – Comintern

+0

@Comintern - または多分' Sheets.Range( "A"&nxtRw).EntireRow.Value = d.EntireRow.Value'(ソースデータをザッピングしないように)? – YowE3K

答えて

4

置換:

d.EntireRow.Copy Sheets("Reports").Range("A" & nxtRw) 

を有する:

d.EntireRow.Copy 
Sheets("Reports").Range("A" & nxtRw).PasteSpecial Paste:=xlPasteValues 
+0

ありがとう、ゲイリーの学生。それは完璧に働いた。 – user4907546

+0

@ user4907546フィードバックに感謝します。 –

関連する問題