次のコードを実行すると 'Subscript Out of Range'というエラーが表示されます。デバッグ私最後の行に私を指します:実行時エラー '9' VBA
Dim SrcBook As Workbook
Dim TrgBook As Workbook
Dim SrcSheet As Worksheet
Dim TrgSheet As Worksheet
Dim Sheet_Name As String
Workbooks.Open (CalendarFile)
Sheet_Name = MonthName(Month(SrcSheet.Cells(SrcRow, "D").Value), False)
MsgBox ("Sheet_Name Value is: " & Sheet_Name)
Set TrgSheet = Workbooks(CalendarFile).Worksheets(Sheet_Name)
私は繰り返しCalendarFileが有効なファイル名であることを確認しました(私はフルパスファイル名を使用しています)。 Sheet_Nameは、そのブックのシートの有効な名前です。 [Workbooks(CalendarFile).Worksheets(11)vs Workbooks(CalendarFile).Worksheets(11月)]を使用してワークシートにアクセスしようとすると、同様のエラーが発生します。 MsgBox呼び出しは、WorkSheets()メソッドに適切なシート名を渡していることを確認します。
最後に、ScrRowが適切に定義されています - このワークブックでは、このコードを使用して、おもちゃ/テストアプリケーションから呼び出されたマクロと同じワークブックを操作できますが、何らかの理由で操作しようとすると失敗します。他の(開いている)ワークブックのワークシートを対象とする。
ご協力いただければ幸いです!ありがとうございました!
Sheet_Nameは文字列ではなく「範囲」でなければなりません。 – Niclas
@ニクラスなぜそれは範囲ですか? MonthNameは文字列を返します。 – Sorceri