Excel VBA質問箱 IV

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

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


2444 / 13646 ツリー ←次へ | 前へ→

【67989】Until=""の使い方 江々 11/1/22(土) 13:42 質問[未読]
【67990】Re:Until=""の使い方 neptune 11/1/22(土) 14:41 回答[未読]

【67989】Until=""の使い方
質問  江々  - 11/1/22(土) 13:42 -

引用なし
パスワード
   フォルダーに4ファイル(Book)があり、ブック名A1・A2・A3が有り、集計というBookにデータを保存するコードを書いたのですが・・・
Until=""でループさせたのですが、最終「集計」のファイルまでと続きます。
集計の時にはExitのような方法をと・・・考えたのですが、何か良い方法は無いでしょうか。ご指導お願いします
Sub try()
 Dim Fname As String, Pname As String, i As Integer
 Pname = ThisWorkbook.Path & "\"
 Fname = Dir(Pname & "*.xls")
 Do Until Fname = ""
   Workbooks.Open Pname & Fname
   For i = 1 To Sheets.Count
     If Sheets(i).Range("A1") <> "" Then
      Sheets(i).Range("B6:D6").Copy _
           Workbooks("集計.xls").Sheets(1) _
       .Range("B" & Rows.Count).End(xlUp).Offset(1)
     End If
   Next i
'   Debug.Print Fname
   Workbooks(Fname).Close True
   Fname = Dir()
 Loop
Workbooks(ActiveWorkbook.Name).Close savechanges:=True
End Sub

【67990】Re:Until=""の使い方
回答  neptune  - 11/1/22(土) 14:41 -

引用なし
パスワード
   ▼江々 さん:
ササッと見ただけですけど。表題は質問と無関係ですな。

>フォルダーに4ファイル(Book)があり、ブック名A1・A2・A3が有り、集計というBookにデータを保存するコードを書いたのですが・・・
>Until=""でループさせたのですが、最終「集計」のファイルまでと続きます。

「集計」だけ処理したくないなら
方法1
・book名が「集計」でないbook名を取得
・bookの数だけ作業を繰り返す。

方法2
>Workbooks.Open Pname & Fname
の前に「集計」でない事を確認する条件判断を行い集計の時は処理をスキップ

で検討してみては如何?

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