尝试比较日期,如果列G="是";然后比较";C"&要在指定的范围内复制的RowNumber,但似乎什么都没发生。
Dim wb As Workbook
Dim range1 As Range
Dim CellValue As Range, CellValues As Range
Dim RowNumber As Integer, ColumnLetter As String, ColumnNumber As Integer
Set wb = ActiveWorkbook
Set range1 = wb.Sheets("Evals (P)").Range("A5:H10")
For Each CellValue In range1
RowNumber = CellValue.Row
If CellValue.Range("G" & RowNumber).Value = "Yes" Then
If CellValue.Range("C" & RowNumber).Value >= DateValue("A4") Then
ws1.Range("A283", "H283").Value = CellValue.Range("A" & RowNumber, "H" & RowNumber)
ElseIf CellValue.Value = "No" Then
End If
End If
Next CellValue
正如评论中所指出的,CellValue.Range会引起麻烦,我建议您测试一下:
Dim wb As Workbook
'Dim range1 As Range
'Dim CellValue As Range, CellValues As Range
Dim RowNumber As Integer, ColumnLetter As String, ColumnNumber As Integer
Dim ws1 As Worksheet
Set wb = ActiveWorkbook
'Set range1 = wb.Sheets("Evals (P)").Range("A5:H10")
Set ws1 = wb.Sheets("Evals (P)")
For RowNumber = 5 To 10
'RowNumber = CellValue.row
If ws1.Range("G" & RowNumber).Value = "Yes" Then
If ws1.Range("C" & RowNumber).Value >= DateValue(ws1.Range("A4")) Then
ws1.Range("A283", "H283").Value = ws1.Range("A" & RowNumber, "H" & RowNumber).Value
ElseIf ws1.Range("G" & RowNumber).Value = "No" Then
End If
End If
Next
'
Set ws1 = Nothing
Set wb = Nothing