- 締切済み
「エクセルで差し込み印刷」…助けて下さい。
エクセルを使い差し込み印刷がしたいのですが、マクロ・VBA初心者のため、ネット等で調べても全く理解できません。 助けてほしいです… 具体的には下記のようなことがしたいんです。 shee1に以下のフォーマットがあります。 氏名 年齢 電話番号 (1) (2) (3) sheet2に以下のデータベースがあります。 氏名 年齢 電話番号 山田 20歳 03… 佐藤 22歳 042… ・ ・ ・ ・ ・ ・ ・ ・ ・ sheet1にsheet2のデータを反映して、「ボタン」を押せば次の人へ移動する (山田→佐藤)ようにしたいのです。 どういったプログラムを組めばよろしいでしょうか? どうか宜しくお願い致します。 上記だけでは情報不足等あれば、聞いてください。 本当に困ってますので、宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えば次のようにします。 シート1で「開発」タブの「挿入」からフォームコントロールの「ボタン」を選択しシート上に四角を描くようにすれば。 マクロの登録画面が表示されボタン1Clickのように表示されますので「新規作成」ボタンをクリックします。 表示の画面では次のようなコードを入力すればよいでしょう。 Sub ボタン1_Click() Dim Namae As String Dim Bangou As Integer Dim Gyou As Integer Set WS1 = Worksheets("Sheet1") Set WS2 = Worksheets("Sheet2") Application.ScreenUpdating = False If WS1.Range("A2") = "" Then Bangou = InputBox(Prompt:="シート2の何行目からのからデータを表示させますか?番号を入力してください。") Range(WS2.Cells(Bangou, 1), WS2.Cells(Bangou, 3)).Copy WS1.Range("A2").Select ActiveSheet.Paste Application.CutCopyMode = False ElseIf WS1.Range("A2") <> "" Then Gyou = WorksheetFunction.Match(WS1.Range("A2"), WS2.Range("A:A"), 0) + 1 Range(WS2.Cells(Gyou, 1), WS2.Cells(Gyou, 3)).Copy WS1.Range("A2").Select ActiveSheet.Paste Application.CutCopyMode = False End If Application.ScreenUpdating = True WS1.PrintOut End Sub 上記を参考にしてご自分の考えるように工夫してみてください。
- sirokiyat
- ベストアンサー率23% (204/867)
普通差し込み印刷というと、ワードの文章にエクセルのデータを入れて、印刷をするものです。 差し込み印刷の意味を誤解していませんか? もう少し、具体的にやりたいことを書いて下さい。
- Granpa-pc
- ベストアンサー率42% (241/563)
私は数年前までACCESSでリレーショナルデータベースのプログラムを作っていました。 簡単なデータベースならExcelでも対応できますが、本格的にはACCESSがいいです。 ところで、質問の確認です。 Sheet 1は、単票(1個人の表示)ですか? それともSheet 2全体を表示したものですか? ボタンはなんのためにクリックするのですか? ここがわからなければ、回答困難です。