Интересно, сможет ли кто-нибудь помочь мне.VBA Copy IF Value Equals
Во-первых, я первый, кто признался, я получил помощь, чтобы получить этот этап, но я немного не уверен, чтобы пройти мимо вопроса, который у меня есть, с приведенным ниже кодом.
Чтобы дать немного фона:
То, что я пытаюсь сделать, это выполнить проверку, когда код выглядит в списке проектов на листе «ALLDATA» (Источник) листа, начиная с ячейки Е3 , и копирует ячейку, если она содержит текстовое значение «Улучшения» и вставляет это в лист «Улучшения» («Назначение»).
Кроме того, код также отображает фигуру и дату «Actuals», связанные с каждым проектом, и суммирует человеко-часы по проекту и по периоду в соответствующие ячейки на листе назначения (лист улучшений). Это переменные «RVal» и «RDate».
Пересмотренный Кодекс - Полный Рабочий скрипт
Sub Extract()
Dim i As Long, j As Long, m As Long
Dim strProject As String
Dim RDate As Date
Dim RVal As Single
Dim BlnProjExists As Boolean
With Sheets("Enhancements").Range("B3")
For i = 1 To .CurrentRegion.Rows.Count - 1
For j = 0 To 13
.Offset(i, j) = ""
Next j
Next i
End With
With Sheets("AllData").Range("E3")
For i = 1 To .CurrentRegion.Rows.Count - 1
strProject = .Offset(i, 0)
If InStr(strProject, "Enhancements") = 0 Then
GoTo NextLoop
End If
RDate = .Offset(i, 3)
RVal = .Offset(i, 4)
With Sheets("Enhancements").Range("B3")
If .CurrentRegion.Rows.Count = 1 Then
.Offset(1, 0) = strProject
j = 1
Else
BlnProjExists = False
For j = 1 To .CurrentRegion.Rows.Count - 1
If .Offset(j, 0) = strProject Then
BlnProjExists = True
Exit For
End If
Next j
If BlnProjExists = False Then
.Offset(j, 0) = strProject
End If
End If
Select Case Format(RDate, "mmm yy")
Case "Apr 13"
m = 1
Case "May 13"
m = 2
Case "Jun 13"
m = 3
Case "Jul 13"
m = 4
Case "Aug 13"
m = 5
Case "Sep 13"
m = 6
Case "Oct 13"
m = 7
Case "Nov 13"
m = 8
Case "Dec 13"
m = 9
Case "Jan 14"
m = 10
Case "Feb 14"
m = 11
Case "Mar 14"
m = 12
End Select
.Offset(j, m) = .Offset(j, m) + RVal
End With
NextLoop:
Next i
End With
End Sub
К сожалению, когда я пытаюсь запустить это я получаю «Ошибка компиляции: Label не определен» ошибка, и отлаживать выделяет следующую строку в качестве проблемы и Я не уверен, почему:
GoTo Nexti
Я просто задавался вопросом, может ли кто-нибудь посмотреть на это, пожалуйста, и дайте мне знать, где я ошибся?
Если это помогает, я могу предоставить ссылку на свой тестовый файл.
Большое спасибо и добрые пожелания
Привет @ Джо, спасибо большое за то время ответьте на мой пост. Я внесла поправки в код, как вы предложили, поэтому пересмотренный полный скрипт показан так же, как и в моем оригинале. Это, безусловно, отсортировано по сообщению об ошибке, но, к сожалению, ничего не скопировано на лист «Destination». Большое спасибо и добрые пожелания – IRHM
Ваш текущий код отсутствует 'strProject = .Offset (i, 0)' above 'If Instr ....'. – Joe
Hi @Joe большое вам спасибо за то, что нашли время, чтобы ответить на мой пост и решение, оно отлично работает. Все лучшие и добрые пожелания. – IRHM