Заранее спасибо за любую помощь! Я пытаюсь использовать приведенный ниже код, чтобы найти месяц и год, содержащиеся в строке одного листа, который соответствует месяцу и году, содержащемуся в ячейке другого листа. Затем скопируйте соответствующий столбец на третий лист. Ниже приведено сообщение об ошибке «Несоответствие типов» в строке «Если месяц (лист 6 ...»). Я не уверен, что это наиболее эффективный способ написать это, поэтому я открыт для предложений.
- Исправлено ниже, чтобы отразить окончательный рабочий код
Sub FindDate()
'returns the month and year entered for the project review cycle
Dim a As Integer
Dim b As Integer
Dim c As Long
Dim d As Long
a = Month(Sheet8.Cells(2, 3))
b = Year(Sheet8.Cells(2, 3))
'MsgBox a & "-" & b
c = Sheet6.Cells.Find(What:="*", SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, LookIn:=xlFormulas).Column
For i = 1 To c
If IsDate(Sheet6.Cells(1, i).Value) Then
If Month(Sheet6.Cells(1, i)) = a And Year(Sheet6.Cells(1, i)) = b Then
Sheet6.Columns(i).copy
d = Sheet5.Cells.Find(What:="*", SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, LookIn:=xlFormulas).Column
Sheet5.Cells(1, d + 1).PasteSpecial xlPasteValues
Sheet5.Cells(1, d + 1).PasteSpecial xlPasteFormats
End If
End If
Next i
Application.CutCopyMode = False
End Sub