- 締切済み
印刷のイベントで?
いつも御世話になっています。 任意のシートを印刷したときに、毎回その印刷した画面のA7に記載されている内容をその都度、記録用に作成したシートにイベントでA1,A2A3・・・とコピ-していく方法を教えて下さい。当方かなりの素人のため、具体的に教えていただけると助かります。 補足すべきことがありましたらご指摘いただければと思いますので宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
VBEの画面のVBAProjectのThisWorkbookをクリックし 上の部分の左のDeclaration部Workbook、イベント部にBeforePrintを選びます。 その中間に下記コードを作ります。 Private Sub Workbook_BeforePrint(Cancel As Boolean) MsgBox ActiveSheet.Name If ActiveSheet.Name = "印刷記録シート" Then Exit Sub MsgBox "記録します" MsgBox ActiveSheet.Range("A7") Sheets("印刷記録シート").Cells(65536, "A").End(xlUp).Offset(1, 0) = ActiveSheet.Range("A7") End Sub 印刷記録シートに印刷したA'セルの値をA列に集積していきます。 Msgbox の行は不要と思えば削除してください。
- merlionXX
- ベストアンサー率48% (1930/4007)
Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Name <> "印刷用シート" Then Exit Sub If Sheets("保存用シート").Cells(65536, "A").End(xlUp) = "" Then Sheets("保存用シート").Cells(65536, "A").End(xlUp) = Sheets("印刷用シート").Range("A7") Else Sheets("保存用シート").Cells(65536, "A").End(xlUp).Offset(1) = Sheets("印刷用シート").Range("A7") End If End Sub シート名は実際のものに変えてくださいね。