2016-10-13 80 views
0

我需要一些幫助來在VBA中編寫代碼。我認爲我對它有很好的把握,但顯然不是。在VBA中使用If語句來執行復制和粘貼

我在工作手冊「數據」和「結果」中有兩個工作表。 「數據」包含E2到E580中的內容,但這可能會更改+/-。 「結果」包含C10中的內容,需要將其複製到D2和列的下方,但前提是「數據」(E2:E580)中有內容。以下是我迄今爲止:

Worksheets("Data").If (Range("E2:E580") = " ", Copy.Worksheets("Results").Range("C10") AND Paste.Worksheets("Data").Range("D2:D580"), False) 

收到編譯錯誤: 預期值=

感謝您的幫助提前。

+2

我會建議錄製一個宏,看看代碼是什麼樣子。 –

+0

閱讀本文可以瞭解如何使用If then else:https://msdn.microsoft.com/library/752y8abs.aspx – Magnetron

回答

0
Sub copy_data() 
Dim i As Integer 

For i = 2 To Sheets("Data").Cells(Rows.Count, "E").End(xlUp).Row 
    If Sheets("Data").Cells(i, 5) <> "" Then 
    Sheets("Results").Cells(i, 4) = Sheets("Results").Range("C10") 
    Else 
    Sheets("Results").Cells(i, 4) = "" 
    End If 
Next i 
End Sub 

說明:循環遍歷塔E在「數據」向下到最後一個條目,並複製在「結果」從C10內容進入塔d,如果在「數據」的相應單元格的值。如果沒有值輸入一個空字符串