[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートコピーして別のブックに』(サム)
ネットに載っていたコードなのですが
既存のブックシート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
ついでに。 '新規で作成したファイルに入力フォームで入力された値を貼り付けます 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
(サム) 2025/02/12(水) 22:32:51
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.