今日、この VBA プログラムで問題が発生しました。数日間はうまく機能していましたが、今では悪臭を放っています。単純なコピーと貼り付けでセル値を配列の値に設定するだけなので、この問題を引き起こすことがわかっているものは何も変更していません。私はそれをいじって答えを探しましたが、それを修正するものは何も得られないようです。
Worksheets(1).Select
For i = 1 To N
Worksheets(1).Cells(3 + i, 1).Value = Current(i)
Next i
For h = 1 To holidays
Worksheets(h).Select
Range(Worksheets(h).Cells(4, 6), Worksheets(h).Cells(4 + N, 100)).Select
Selection.Copy
Worksheets("Sort Sheet").Select
Cells(1, 1).Select
Selection.PasteSpecial
For f = 1 To N
For i = 1 To N
If Position(i) = f Then
Range(Worksheets("Sort Sheet").Cells(f, 1), Worksheets("Sort Sheet").Cells(f, 100)).Select
Selection.Copy
Worksheets(h).Select
ActiveSheet.Cells(i + 3, 6).Select
ActiveSheet.PasteSpecial
Application.CutCopyMode = False
End If
Next i
Next f
Next h
End Sub
バグがある最初の行は ActiveSheet.PasteSpecial です。行全体と定義された範囲を貼り付けて、通常の貼り付けと貼り付けを試みました。しかし、それを機能させるものは何もないようです。
バグがある 2 行目は Worksheets(1).Cells(3 + i, 1).Value = Current(i) です。これは今日まで機能していたので、停止した理由がわかりません current(i) 「TONY BUGGENS」などの名前の 1D 配列値です。
プログラム全体が並べ替えプログラムであるため、配列内の名前を並べ替えてから、スプレッドシートの元の名前に貼り付けます。
皆さんの助けに感謝します。おそらく、私が見落としている単純なものがあると確信しています。早朝になりました。
乾杯、エイミー