質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

2882閲覧

Access2010 エクセル帳票テンプレートの1シートをそのまま別のエクセルにコピー

tomutomu

総合スコア7

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2017/11/18 14:42

###前提・実現したいこと
Windows7 Access2010 Excel2010を利用しシステム構築しています。
エクセルの帳票テンプレートの1シートをそのまま別のエクセルにコピーしたいと考えています。(列幅・行幅も含め)

###発生している問題・エラーメッセージ

列幅を設定するため、xlPasteColumnWidthsを指定したのですが、エラーにならず列幅が反映されません。原因や原因の特定方法をご教授いただけないでしょうか?

###該当のソースコード

Access2010

1 2 '帳票テンプレートファイル 3 Dim formTmpFile As String 4 formTmpFile = "テンプレート.xls" 5 Dim tmpWkSheetList As String 6 tmpWkSheetList = "対象シート" 7 8 'テンプレートファイル 9 Dim tmpBook As Object 10 Dim openBook As Object 11 Dim copyFromFile As Object 12 13 '出力帳票 14 Dim xlApp As Object 15 Dim xlBook As Object 16 Dim xlSheet As Object 17 Dim formFile As String 18 formFile = "出力帳票.xls" 19 20 'テンプレートファイルを開く 21 Set tmpBook = CreateObject("Excel.Application") 22 Set openBook = tmpBook.Workbooks.Open(formTmpFile) 23 Set copyFromFile = openBook.Worksheets(tmpWkSheetList) 24 25 '帳票ファイルを開く 26 Set xlApp = CreateObject("Excel.Application") 27 Set xlBook = xlApp.Workbooks.Add 28 Set xlSheet = xlBook.Worksheets("Sheet1") 29 30 'テンプレートファイルよりフォーマットをコピー 31 copyFromFile.Range("1:28").Copy 32 xlSheet.Range("1:28").PasteSpecial Paste:=xlPasteColumnWidths 33 34 'アラート無視 35 xlApp.DisplayAlerts = False 36 37 '帳票保存 38 xlBook.SaveAs (formFile) 39 40 xlApp.DisplayAlerts = True 41 42 'Excel終了 43 tmpBook.Application.CutCopyMode = False 44 openBook.Close 45 Set copyFromFile = Nothing 46 tmpBook.Quit 47 Set openBook = Nothing 48 Set tmpBook = Nothing 49 50 xlBook.Close 51 xlApp.Quit 52 53 Set xlSheet = Nothing 54 Set xlBook = Nothing 55 Set xlApp = Nothing 56 57 FormOutput = True 58 59 Exit Function

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

全てコピーなら、セルのコピーではなく、シートをコピーする、という方法をとるべきではないでしょうか?

投稿2017/11/19 00:43

ExcelVBAer

総合スコア1175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomutomu

2017/11/19 02:49

アドバイスありがとうございます。シートコピーを試してみます。
tomutomu

2017/11/21 11:24

確認遅くなりもうしわけございません。アドバイス通りで解決致しました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問