誰かが私を助けてくれるのではないかと思います。
まず、私が最初に認めたのは、この段階に到達するための支援を受けましたが、以下のコードで発生した問題を乗り越えられるかどうか少し確信が持てないことです。
少し背景を説明するには:
私がやろうとしているのは、コードがセル E3 から始まるシート「AllData」(ソース) シートのプロジェクトのリストを見て、テキスト値「Enhancements」が含まれている場合はセルをコピーする場所をチェックすることです。これを「Enhancements」(Destination)シートに貼り付けます。
さらに、このコードは、各プロジェクトに関連付けられた「実績」の工数と日付も取得し、プロジェクト別および期間別の総工数を宛先シート (拡張シート) のそれぞれのセルに入力します。これらは「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
誰かがこれを見て、どこが間違っているのか教えてくれるかどうか疑問に思いましたか?
お役に立てれば、テスト ファイルへのリンクを提供できます。
多くの感謝と親切な敬意