在VBA中使用If语句执行复制和粘贴

时间:2016-10-13 15:09:48

标签: excel-vba vba excel

在VBA中编写代码需要一些帮助。我以为我对它有很好的把握,但显然不是。

我在工作簿中有两个工作表,“数据”和“结果”。 “数据”在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)

获取编译错误: 预期=

提前感谢您的帮助。

1 个答案:

答案 0 :(得分: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列。如果没有值,则输入空字符串