Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


47294 / 76737 ←次へ | 前へ→

【34403】エラー処理がわかりません
質問  ponpon  - 06/2/2(木) 0:08 -

引用なし
パスワード
   こんばんは。
エラー処理がわからないので教えてください。
一つのフォルダに20ぐらいの同じフォーマットのシートを持ったファイルがあります。
シート名は、"1月"から"12月"です。

単純にコピペしたいのですが、ファイルの中に虫食いのように、8月や10月が抜けたり
6月から8月までがないファイルなどがあります。

そこで、シートがない時には、そのシートをとばして次のシートに行きたいのですが・・・
一回目の虫食い(シートがない)の時はうまく飛んでくれるのですが、
2回目以降はエラーが発生します。
シートがないときは、次のシートに最後まで飛ぶようにするには、どうしたら
よいのでしょうか?

Sub test()
  Dim myPath As String, myFlname As String
  Dim myVal
  Dim myBK As Workbook
  Dim i As Long


  Application.ScreenUpdating = False
  myPath = ThisWorkbook.Path & "\"
  myFlname = Dir(myPath & "*.xls")
  Do Until myFlname = ""
   If myFlname <> ThisWorkbook.Name Then
     Set myBK = Workbooks.Open(Filename:=myPath & myFlname)
     With myBK
      For i = 1 To 12
        On Error GoTo エラー
        With Worksheets(i & "月")
         .Range("A2", .Range("B65536").End(xlUp)).Copy _
          ThisWorkbook.Sheets(i & "月").Range("A65536").End(xlUp).Offset(1)
        End With
エラー:   Next
      .Close False
     End With
   End If
    myFlname = Dir()
  Loop
  Application.ScreenUpdating = True
End Sub

0 hits

【34403】エラー処理がわかりません ponpon 06/2/2(木) 0:08 質問
【34408】Re:エラー処理がわかりません ponpon 06/2/2(木) 1:14 お礼

47294 / 76737 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free