我想知道是否有人可以帮助我。
首先,我是第一个承认,我已经获得了帮助以获得这个阶段,但我有点不确定是否已经解决了以下代码的问题。
给一点背景:
我正在尝试做的是执行检查代码查看工作表列表“AllData”(源)表,从单元格E3开始,并复制单元格(如果它包含文本值) “增强功能”并将其粘贴到“增强功能”(目的地)表。
此外,该代码还采用与每个项目相关联的“实际”工时图和日期,并按项目和周期将工时总计分配到目标工作表(增强工作表)上的相应单元格中。这些是“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
不幸的是,当我尝试运行它时,我收到一个'编译错误:标签未定义'错误,并且调试突出显示以下行作为问题,我不确定原因:
GoTo Nexti
我只是想知道是否有人可以看看这个,让我知道我哪里出错了?
如果有帮助,我可以提供指向我的测试文件的链接。
非常感谢和亲切的问候
答案 0 :(得分:0)
当值为"增强功能"时,您没有做任何不同的事情。改变这个:
If InStr(.Offset(i, 0), "Enhancements") > 0 Then
strProject = .Offset(i, 0)
End If
到此:
If InStr(strProject, "Enhancements") = 0 Then
GoTo NextLoop
End If
并在" Next i":
之前添加NextLoop标识符 End With
NextLoop:
Next i
End With
End Sub