Excel VBA質問箱 IV

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

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


2578 / 76734 ←次へ | 前へ→

【79799】Re:VBA初心者です。ブック間の列コピーを繰り返す方法について
発言  atori  - 18/4/16(月) 11:41 -

引用なし
パスワード
   ▼マナ さん:
>
>wsx.Columns(k + 1).Value = wb.Worksheets("Sheet1").Columns(2).Value
>
>確認してみてください。
>コピー範囲が大きいと、処理速度が落ちるかも知れませんが
>コードが簡潔になるので、わたしはよく使います。

>>エラーメッセージが出たら終了
>
>ではなく、その番号のブックが存在するかをDir関数で確認し
>しなければ、Exit forでループを抜ける
>
>といった感じにします。
>そうすると、今のコードを、ほぼそのまま使えます。
>Dir関数についてはネットで検索してみてください。

>>    Set wsx = ThisWorkbook.Worksheets("Sheet1")
>
>これは、ループの外で、最初に1回実行でよいです。
>わかりますよね。

ありがとうございます!返信遅れて申し訳ありません。
コードが長くなると多分自分でもよくわからなくなって来てしまうので、コピー・ペーストは一行にまとめました!
Dir関数については調べたところ、If文と組み合わせるのがよいかと思ったので下記の通りに組んでみました。Elseをどういった形にするかで迷っていたのですが、消してみても問題なかったのでそのままにしてあります。
wsxはおっしゃる通りでした…!

Sub Exam1()
'
' exam1 Macro
'
  Dim wb As Workbook
  Dim ws As Worksheet
  Dim wsx As Worksheet
  Dim FileNumber As String

  Set wsx = ThisWorkbook.Worksheets("Sheet1")

  For k = 1 To 999

    Set wb = Workbooks.Open("C:\Users\user\Desktop\exam\" & k & ".xlsx")
    wsx.Columns(k + 1).Value = wb.Worksheets("Sheet1").Columns(2).Value
    wb.Close False

    FileNumber = Dir("C:\Users\user\Desktop\exam\" & k + 1 & ".xlsx")
    
  If FileNumber = "" Then
    Exit For
  End If

  Next k

End Sub

今回も4つ分のファイルで行ったのですが、エラーメッセージはありませんでした!
11 hits

【79775】VBA初心者です。ブック間の列コピーを繰り返す方法について atori 18/4/10(火) 15:08 質問[未読]
【79777】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/10(火) 22:53 発言[未読]
【79778】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/11(水) 14:10 回答[未読]
【79781】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/11(水) 22:11 発言[未読]
【79783】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/12(木) 10:09 回答[未読]
【79786】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/12(木) 20:10 発言[未読]
【79787】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/13(金) 11:04 発言[未読]
【79795】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/14(土) 10:33 発言[未読]
【79796】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/14(土) 13:00 発言[未読]
【79799】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/16(月) 11:41 発言[未読]
【79801】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/16(月) 20:04 発言[未読]
【79803】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/17(火) 10:43 お礼[未読]
【79808】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/17(火) 19:00 発言[未読]
【79817】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/18(水) 16:11 お礼[未読]

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