Excel VBA質問箱 IV

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

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


13907 / 76734 ←次へ | 前へ→

【68327】新しいファイルを作成し、シートをコピーする
質問  nakataka  - 11/2/24(木) 10:15 -

引用なし
パスワード
   あるExcelファイルに10シートありまして、そのシートたちのセル(B2)に値があれば、そのシートたちだけ、コピーして新しいファイルを作成するというVBAを考えています。自分なりに作成したのですが、


Option Explicit
'モジュール変数
'新規ワークブック名
Dim strNewWorkbookName As String
Function f_NewWorkbook() As String

  Workbooks.Add
  f_NewWorkbook = ActiveWorkbook.Name

End Function

Sub シート出力2()
  
  strNewWorkbookName = f_NewWorkbook()
  
  i=1
  Do
  If ThisWorkbook.Sheets(i).Range(B2).Value <> "" Then
  ThisWorkbook.Sheets(i).Copy Before:=Workbook(strNewWorkbookName).Sheets(i)    
   i=i+1 
  End If
  Loop
  
End Sub

と作成しましたが、範囲が有効ではありません とエラー表示がでます。

どこが間違っているのでしょうか? 教えて下さい。
1 hits

【68327】新しいファイルを作成し、シートをコピーする nakataka 11/2/24(木) 10:15 質問
【68328】Re:新しいファイルを作成し、シートをコピ... Jaka 11/2/24(木) 10:32 発言
【68329】Re:新しいファイルを作成し、シートをコピ... nakataka 11/2/24(木) 10:56 質問
【68330】Re:新しいファイルを作成し、シートをコピ... UO3 11/2/24(木) 11:27 回答
【68334】Re:新しいファイルを作成し、シートをコピ... Jaka 11/2/24(木) 11:48 発言
【68335】Re:新しいファイルを作成し、シートをコピ... nakataka 11/2/24(木) 13:28 質問
【68340】Re:新しいファイルを作成し、シートをコピ... Jaka 11/2/24(木) 17:11 発言

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