• ベストアンサー

Excel VBA 印刷したら印刷日を入力

Excel2003を使用しています。 「データ入力」シートにデータを入力すると、「Sheet1」に予め作成されている書式(表)にデータが表示されるようになっています。 「Sheet1」の表を印刷したら、「Sheet1」のN4セルに入力されている番号と印刷日を「Sheet1」のQ11とR11セル以下に、それぞれ順に書き出すようにしたいのですが、このようなことは可能でしょうか? 印刷の有無の確認と印刷日の履歴を残せたらと思い、質問させていただきました。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

標準モジュールではなくThisWorkbookモジュールに以下をコピペしてみてください。 Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Name <> "Sheet1" Then Exit Sub With Sheets("Sheet1") If .Range("Q11").Value = "" Then Set myRng = .Range("Q11") Else Set myRng = .Range("Q" & Rows.Count).End(xlUp).Offset(1) End If myRng.Value = .Range("N4").Value myRng.Offset(0, 1).Value = Date End With End Sub

KOH3193
質問者

お礼

お礼が遅くなり、申し訳ありません。 教えていただいたコードを試してみたところ うまくいきました。 ありがとうございました。

関連するQ&A

  • Excel VBAについて

    UserFormからデータ(氏名、生年月日・・)を入力し、「登録」ボタンをクリックすると Sheet2に入力データを上から(1行目、2行目・・)格納していきます。 そして、Sheet1上に作成した「印刷」ボタンをクリックすると、Sheet2で順に格納されたデータをある定められたフォーマットで両面印刷(表に1行目のデータ、裏に2行目のデータ)できるようにしたいのですが、可能でしょうか。

  • Excelで一部のデータが印刷されない

    Excel2000で簡単な月間計画表を作成しています。 若干長めの文字データ(全角30字程度)を入力し、画面上では見えるのですが、印刷すると、そこだけが印刷されず、抜けてしまいます。 同じワークシート上の別のセルに入れた文字データは正常に印刷されますが、ある一部分だけが抜けてしまいます。 問題のセルのデータを一旦削除して再入力しても、改善されません。問題のデータをコピーして他の箇所に移してやると、ちゃんと印刷されます。 とりあえず、問題のセルを含む行の削除→再入力で対処できたのですが、過去にも何度か経験したトラブルなので、できればなぜなのか知っておきたいと思います。 情報をお持ちの方、よろしくご教示お願いします。

  • エクセル 入力について

    お尋ねしたいです。 エクセルで、入力用シートから別表シートにVBAでデータ入力しています。 しかし表の最下列にデータがあると、上書きされてしまい前のデータが失われてしまう、 という入力ミスが多く、困っています。 そこで表の最下列セルに何か入力されているか、下から2番目のセルが空白セルの場合に、入力できないかエラーがでるようにしたいのですが、 VBAなどを使えば、出来るのでしょうか? 説明が分かりにくければすみません。。 お願い致します。

  • WordでExcelのデータを差込印刷する

    ウインドウズを使っています。 Word2000の差込印刷ヘルパーでExcel2000のワークシート内のセル範囲のデータを差込印刷したいのですが、セルの範囲を手入力して入れると、「現在のタスクを完了するためにMicrosoft Excelに対して再度DDE接続を行うことが出来ませんでした」といわれてしまい先に進めません。 詳細は以下です。 差込印刷ヘルパーの「2.データファイルの指定」でデータファイルを開くを選び Excelのワークシートにして指定のExcelファイルを選択します その後「Microsoft Excel 範囲名またはセルの範囲(N):」と言うダイアログボックスが出てきます そこの項目には既に「ワークシート全体」と言う選択肢が選ばれていますが 差し込みたいワークシート内のセルの範囲を半角で手入力して入れると(A1:F3のように) 上に書きました「現在のタスクを~~」というメッセージが出てセルの範囲を指定できません。 ヘルプを見ても「範囲名または~」の所にはセルの範囲を入力しても大丈夫なようになっていますが出来ません。 また、差し込むタイトルを含むように範囲は入力しています。 私がやりたいのは、Excelワークシート1枚に4つのセル範囲を作り、それをそれぞれ別のWordファイルに差し込みたいのですがそのようなことは出来るのでしょうか。 また、空白のセルがあると出来ないと言うようなことをちらっと聞いたのですが 詳しく知りたいです。 説明が分かっていただけるか不安ですが、 本にも全然載っていなくて本当に困っています。 少しでも分かる方がいましたら教えてください。 よろしくお願いします。

  • エクセルであるセルに1から100まで入力し、それぞれ印刷するにはどのような方法がありますか?

    こんばんは。お世話になります。 エクセルで、給与明細書を作っています。 職員の名前、基本給、能力給、稼動日、交通費などが一覧になっているデーター表があります。 NO 名前    基本給   稼動日.... 1 山田一郎  100000    25 2 山田次郎  120000    22 3 山田三郎  250000    22    ...    ... この他に個人に渡す明細書があります。 VLOOKUP関数を使い、あるセルに、NOを入れると、自動的に他のデーターも変わるようにしました。 ここまではなんとか、できたのですが 現在、NOを打っては印刷、次のNOを打っては印刷、ということを繰り返しています。 これを何とか自動でしたいと思っています。 あるセルに自動で順に1から100までの数字を入力し、印刷を繰り返すためには、どのようなことをすれば良いのでしょうか? すみませんが、教えてください。 よろしくお願いします。

  • excelの条件付書式がうまく設定できない

    excel2013で条件付書式を設定しようとしているのですが、うまく設定できません。 Q55に”aaa"と入力 R55に"aac"と入力してR55のセルにQ55と違うとセルに色を付けたいと思い以下の様に設定したのですがうまく動作してくれません。原因がわからないのですがどなたか教えて下さい。設定画面を画像添付しておきます。 R55に ”=<>Q55”→書式と設定

  • Excelで別シートを参照して自動入力させたい。

    Excelを使っていて、どうしてもわからない関数があります。 たぶん、とても簡単なことだと思うのですが、 おわかりの方、何卒ご教示くださいませ。 Windowsで最新のOS、Excelも最新バージョンだと思います。 私がやりたいことは・・・ 「No.順」と名付けたシートがあります。 Aの列に品物のIDナンバーを手入力してます。(ID-***、みたいな感じ) Nの列には価格を手入力(数値の書式設定)、 Qの列には入荷コストを手入力(数値の書式設定)、してます。 別の、「SALE」と名付けたシートがあります。 Cの列に品物のIDナンバーを手入力するようにしてます。 このIDナンバーを入力した時点で・・・ 「No.順」のNの列に入力した価格を、「SALE」シートのHの列に、 「No.順」のQの列に入力した入荷コストを「SALE」シートのIの列に、 データを引っ張ってきたい、つまり、自動入力させたいのです。 いずれのシートも、1行目にはカテゴリ名を入力しているので、 実際に入力がなされているのは、2行目からになります。 どんな関数をどこに書けばよろしいでしょうか。 どうぞよろしくお願いします。

  • EXCEL入力フォームについて

    いつも勉強させていただいておりますEXCELビギナーです。 今回もタイトルについてご投稿せさせていただきました。 EXCEL2003を使用しています。どういう事かと申しますと今作業しているシートは、罫線が保護されている表があります。データを入力しやすい様に入力箇所が背景色に着色保護してあります。印刷すると表全体と編集データのみプリントアウトされセルに着色した背景色は印刷されません。もちろんそれで、良好なのですが、この機能と同様に入力箇所に背景色を付けても色が印刷出力しないものを自分で作成したいのですが、どこを調べても、目的まで到達できません。操作上初心者レベルでは難解と思われるようでしたら回答不要ですが、難易度としてそれ程でもと思われる様でしたら、どなたかご回答お願い申し上げます。

  • EXCELで第○週から何日から何日を求めたい

    EXCEL2010を使用しております。 セルA1に2019/5/1、セルB1に1と入力して、セルC1にその週の水曜日、セルE1には次の週の火曜日を表示させたいのですが、セルC1とセルE1に入力する関数をお教えいただけませんか? 添付した表にはセルA1には2019年5月となっています。セルB1にも第1週とありますが、それぞれセルの書式設定にて変更したものです。 実際に入力したものはセルA2、B2にあります。 よろしくお願いいたします。

  • Excel VBAでは可でユーザーは入力不可のセル

    C5のセルはユーザーが入力できて、 C5セルに入力された値に応じてVBAで C7セルに処理した値を表示させたいのですが、 C7のセルはユーザーは入力(選択)できないようにしたいのです。 具体的には、 C5セルの書式設定の保護タブのロックを解除して ホームタブのセルグループの書式▼でシートの保護を選択して 表示される「シートの保護」のダイアログで デフォルトのままOKボタンをクリックすると C5セルのみ入力できて C5セル以外は入力できなくなります。 ユーザーにはこの状態にしておきたいのですが、 VBAでC7セルに入力できるようにする方法はないでしょうか。 (Windos7, Excel2010)

専門家に質問してみよう