| 
    
     |  | ▼Jaka さん: 直ぐに回答をありがとうございます!
 
 フラグのところ、仰る通りややこしくなりました。。
 フラグを立てる、降ろす一文、なるほど。。勉強になります。
 
 そしてJakaさんがアドバイスしてくださったコードが
 スッキリして解りやすいです!
 フラグを使わない方法はこのようになるのですね。
 
 お蔭さまで無事に処理が進みました!
 ありがとうございます!
 
 とても勉強になりました。
 
 
 ============
 >>  With Workbooks.Open(f)
 >>   For Each ws In Worksheets
 >          ↑
 >        .がない。
 >     Openしたばかりのアクティブブック対象となるので
 >     同じようのは動くけど。
 >
 >この辺↓、なんかフラグつかったりごちゃごちゃしすぎに感じません?
 >
 >>  For Each ws In Worksheets
 >>   If ws.Name = "A" Then flag = True
 >>  Next ws
 >>  If flag = False Then Close
 >>  If flag = True Then
 >
 >>    With .Worksheets("A")
 >
 >こんな感じで良いと思うけど?
 >
 >  For Each ws In Worksheets
 >   If ws.Name = "A" Then
 >    With ws
 >       i = 2
 >      Do While .Cells(i, 1).Value <> ""
 >         Sheet1.Cells(j, 1).Value = .Cells(i, 1).Value
 >         Sheet1.Cells(j, 2).Value = .Cells(i, 2).Value
 >         Sheet1.Cells(j, 3).Value = .Cells(i, 3).Value
 >         Sheet1.Cells(j, 4).Value = .Cells(i, 4).Value
 >         Sheet1.Cells(j, 5).Value = .Cells(i, 5).Value
 >         Sheet1.Cells(j, 6).Value = .Cells(i, 6).Value
 >         Sheet1.Cells(j, 7).Value = .Cells(i, 7).Value
 >         Sheet1.Cells(j, 8).Value = .Cells(i, 8).Value
 >         Sheet1.Cells(j, 9).Value = .Cells(i, 9).Value
 >         Sheet1.Cells(j, 9).Value = .Cells(i, 10).Value
 >         i = i + 1
 >        j = j + 1
 >      Loop
 >     end with
 >   end if
 >  next
 >
 >因みに
 >フラグを立てる flag = True
 >フラグを降ろす flag = False
 >   (下すって変換されちゃってたけど)
 
 
 |  |