|
▼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
> (下すって変換されちゃってたけど)
|
|