[[20250210140514]] 『シートコピーして別のブックに』(サム) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シートコピーして別のブックに』(サム)

ネットに載っていたコードなのですが
既存のブックシート1をコピーした内容を請求書と言う新たなブックを作成し
その内容を請求書と言う新たなブックにコピー内容を貼り付けたいのですが
このコード上手く変更出来ませんか?
Sub ボタン1_Click()

    ' 新規ブックを作成()

    'コピーするシートを指定します
    Dim CopyWs As Worksheet
    Set CopyWs = Worksheets("Sheet1")

    '新規ブックを作成します
    Dim NewBook As Workbook
    Set NewBook = Workbooks.Add

    '新規ブックの一番右側にコピーします
    CopyWs.Copy After:=NewBook.Worksheets(NewBook.Worksheets.Count)

    'テンプレート以外の不要なシートを全て削除します
    '※シートを削除する前に警告を非表示にするためApplication.DisplayAlerts = Falseと一時的に警告が出ないようにしています
    '  削除が完了後は必ず、Application.DisplayAlerts = Trueとして、警告が出るようにしておきましょう
    Application.DisplayAlerts = False

    Dim NewBookWs As Worksheet
    For Each NewBookWs In NewBook.Worksheets

        'シート名がテンプレートではなかった場合、シートを削除します
        If NewBookWs.Name <> CopyWs.Name Then
            NewBookWs.Delete
        End If

    Next NewBookWs

    Application.DisplayAlerts = True

    '新規で作成したファイルに入力フォームで入力された値を貼り付けます
    Dim InputWs As Worksheet
    Set InputWs = ThisWorkbook.Worksheets("Sheet1")

    With NewBook.Worksheets(1)

    Dim sourceWs As Worksheet
Set sourceWs = ThisWorkbook.Sheets("Sheet1")

End With
Application.CutCopyMode = False

    '作成したデータを名前を付けて保存(マクロブックと同一のフォルダに保存します)
    NewBook.SaveAs Filename:=ThisWorkbook.Path & "\請求書.xlsx", FileFormat:=xlOpenXMLWorkbook

    '新規ブックを閉じる(上記で保存しているため、下記では保存せずに閉じます)
    NewBook.Close SaveChanges:=False

    'リソースの解放
    Set CopyWs = Nothing
    Set NewBook = Nothing
    Set NewBookWs = Nothing
    Set InputWs = Nothing

End Sub

よろしくお願いします。

< 使用 アプリ:、使用 OS: >


 実動確認していません。そちらで確認してください。

 Sub ボタン1_Click()
    '新規ブックを作成します
    Dim backup&
    backup = Application.SheetsInNewWorkbook
    Application.SheetsInNewWorkbook = 1
    Dim NewBook As Workbook
    Set NewBook = Workbooks.Add
    Application.SheetsInNewWorkbook = backup

    'コピーするシートを指定します
    Dim CopyWs  As Worksheet
    Set CopyWs = ThisWorkbook.Worksheets("Sheet1")

    CopyWs.Copy After:=NewBook.Worksheets(NewBook.Worksheets.Count)

    Application.DisplayAlerts = False
    NewBook.Worksheets(1).Delete
    Application.DisplayAlerts = True
 '  NewBook.Worksheets(1).Name = CopyWs.Name

 '  NewBook.SaveAs Filename:=ThisWorkbook.Path & "\請求書.xlsx", FileFormat:=xlOpenXMLWorkbook
 '  NewBook.Close SaveChanges:=False
 End Sub

 Excelのバージョン、OSも記載下さい。
(xyz) 2025/02/10(月) 14:54:27

ありがとうございます
コピーされ別ブックに保存されました。

 '作成したデータを名前を付けて保存(マクロブックと同一のフォルダに保存します)
    NewBook.SaveAs Filename:=ThisWorkbook.Path & "\請求書.xlsx", FileFormat:=xlOpenXMLWorkbook

    '新規ブックを閉じる(上記で保存しているため、下記では保存せずに閉じます)
    NewBook.Close SaveChanges:=False

    'リソースの解放
    Set CopyWs = Nothing
    Set NewBook = Nothing
    Set NewBookWs = Nothing
    Set InputWs = Nothing

この作成したデータを名前を付けて保存(マクロブックと同一のフォルダに保存します)
このコードを使うこと出来ませんか?
同じフォルダー内に保存したいのですが
よろしくお願いします。
(サム) 2025/02/10(月) 15:16:57


 保存のところは興味がありませんでしたのであえてコメントにしました。
 >このコードを使うこと出来ませんか?
 どうぞご自由に変更してください。私はこれで。
(xyz) 2025/02/10(月) 15:29:00

使えると思いますので使わせてもらいます。
ありがとうございました。
(サム) 2025/02/10(月) 15:34:17

 ついでに。
    '新規で作成したファイルに入力フォームで入力された値を貼り付けます
    Dim InputWs As Worksheet
    Set InputWs = ThisWorkbook.Worksheets("Sheet1")

    With NewBook.Worksheets(1)
        Dim sourceWs As Worksheet
        Set sourceWs = ThisWorkbook.Sheets("Sheet1")
    End With
 の意味がわかりません。
 それほど使用したいコードであれば、出典(URL)を書いてください。皆さんの参考になります。
(xyz) 2025/02/10(月) 15:35:02

すみません
あと一つ教えてください
 NewBook.SaveAs Filename:=ThisWorkbook.Path & "\請求書.xlsx", FileFormat:=xlOpenXMLWorkbook
ここなのですがエクセル2003で使うにはどうしたらよいですか?

(URL)どこだったかわからなくなっちゃいました。ごめんなさい
(サム) 2025/02/10(月) 16:51:40


 ネットで "VBA Excel2003 名前を付けて保存"などと検索すると情報がありました。

https://excel-ubara.com/excelvba4/EXCEL235.html

 を参考にしてください。

 Excel2003ですと、今回はヒットしましたが、ネット上で調べるコストがかかることになります。
 色々検索してコードを使おうとしても、そのまま使えないことも結構あるかと思います。
 バージョンアップも視野に入れたらいかがですか?(余計なお世話ですが) 
(xyz) 2025/02/11(火) 20:46:20

xyz様ありがとうございます。
お手数お掛けしました。
参考に致します。
(サム) 2025/02/11(火) 23:34:28

xyz様的確な指導ありがとうございます
早速参考に組み込んで見ました。
無事に2003でも同じ動きをすることが出来ました。
ありがとうございます。助かりました

(サム) 2025/02/12(水) 22:32:51


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.