- ベストアンサー
VBAでExcelのヘッダーに文字列+セルの値を入れたい
お知恵を貸してください。 Excelヘッダーについてです。 セルA1に日付が入っていて、この値をYYYY/MM/DDの形でヘッダーにしたいと思っているのですが、この日付の前に「日報」という2文字を必ず入れたいのです。 最終的な形は「日報YYYY/MM/DD」となればよいのですが、これはVBAで可能なのでしょうか。 今まで手入力していたのですが毎日印刷するものなので、自動化したいと思うのです。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Dim strヘッダ As String With ActiveSheet 'ヘッダ文字列の編集 strヘッダ = "日報" & .Cells(1).Text '左 .PageSetup.LeftHeader = strヘッダ '中 .PageSetup.CenterHeader = strヘッダ '右 .PageSetup.RightHeader = strヘッダ End With '印刷部(不要なら削除) ActiveWindow.SelectedSheets.PrintOut
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
Wendy02です。 #3の文章がヘンでした。 >及びことは考えていません。 及ぶことは考えていません。 つまり、シート全体に及ぶためには、ThisWorkbookイベントの中のWorkbook_BeforePrintを使うわけですが。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 まあ、こんなところかと思いますね。 きちんと、"A1" に YYYY/MM/DD という書式で入力されているのでしたら、#1 さんの .Textプロパティで十分です。 Dim myDate As Date With ActiveSheet myDate = .Range("A1").Value .PageSetup.LeftHeader = "日報 " & Format$(myDate, "YYYY/MM/DD") .PrintOut 'Preview:=True ''確認用 End With 当然と思いますが、シートが明示されていませんから、他のシートにこのヘッダーが及びことは考えていません。
お礼
ありがとうございました。 お礼が遅くなりまして申し訳ございませんでした。
- diashun
- ベストアンサー率38% (94/244)
VBEを開いて「ThisWorkBook」に以下のコードを貼り付けてください。 Private Sub Workbook_Open() ActiveSheet.PageSetup.RightHeader = _ "報告 " & Format(CDate(ActiveSheet.Range("A1")), "YYYY/MM/DD") End Sub
お礼
ありがとうございました。 お礼が遅くなりまして申し訳ございませんでした。
お礼
ありがとうございました。教えていただいた方法で無事解決いたしました。お礼が遅くなりまして申し訳ございませんでした。