生年月日 お名前       ★↓紙が無駄★
  1    A
  2    B
  3    C
--------------ページ区切り-------------------
  4    D
  5    E
  6    F
--------------ページ区切り-------------------
  7    G

★↑のようなデータを★
★↓のように自動で折り返して印刷★

生年月日 お名前 生年月日 お名前 
  1    A     4    D
  2    B     5    E
  3    C     6    F
--------------ページ区切り-------------------
生年月日 お名前 生年月日 お名前
  7    G     10    J
  8    H        ↓ずーっと続く
  9    I

・質問は上記の図のとおりです
 項目名はヘッダーでなんとかなるのですが
 データを折り返す方法がわかりません。
 なにか上手い方法ございましたら
 アドバイスお願いいたします。
 宜しくお願いします。

A 回答 (6件)

会社でよくこのようなことができないか聞かれます。

手っ取り早いのがAccessでExcelのデータをインポートし、詳細部を作り、ページ設定→レイアウト→列数で指定の列数にして印刷します。ただ、ヘッダー、フッタについては見栄えのいいレポートとはいえないかもしれません。
さてExcelでの解決方法ですが、私は、データを入力したシートとは別に印刷用シートを作成しマクロで印刷しています。下記がそれです。条件を説明します。
1.Sheet1のA1、B1に"生年月日"、"お名前"の表題が入力されていて、データは2行目から入力されていると仮定しています。
2.印刷する表はSheet2に作成し、その縦データ行数をPRTrow、その横データ組数をPRTcolにセットしてください。このマクロは質問にある、縦3×横2を想定しています。
3.また、Sheet2の縦3×横2の範囲には、"pArea"の範囲名をつけてください。
4.Sheet2からこのマクロを実行します。今はプレビューです。PrintPreviewをPrintOutにすれば印刷します。
印刷の形を違えるにはCellsの座標を修正してください。
入力データ数から印刷ページ数を求め、各データに対する印刷部分の座標を求め印刷しています。人が転記し仕上げていくような感覚です。

Public Sub Insatu()
Dim rg As Range 'データの基準位置
Set rg = Worksheets("Sheet1").Range("A1")
Dim pArea As Range '印刷データ部分
Set pArea = Worksheets("Sheet2").Range("prtArea")
Dim Datanum As Long 'データ数
Dim PRTrow As Integer '1頁行数
Dim PRTcol As Integer '1頁列数(データの組数)
Dim modePage As Integer '1頁印刷件数
Dim maxPage As Integer '最大印刷頁
'
Dim pgCot As Integer '頁カウンタ
Dim yokoCot As Integer 'カウンタ(印刷の横)
Dim tateCot As Integer 'カウンタ(印刷の縦)
Dim pINDEX As Long 'データは何行目か
'
Datanum = Worksheets("Sheet1").UsedRange.Rows.Count - 1
PRTrow = 3 '***これをセットする***
PRTcol = 2 '***これをセットする***
modePage = PRTrow * PRTcol
maxPage = Int((Datanum - 1) / modePage) + 1
'
For pgCot = 1 To maxPage
For yokoCot = 1 To PRTcol
For tateCot = 1 To PRTrow
pINDEX = pINDEX + 1
pArea.Cells(tateCot, (yokoCot - 1) * 2 + 1) = rg.Offset(pINDEX, 0)
pArea.Cells(tateCot, yokoCot * 2) = rg.Offset(pINDEX, 1)
Next
Next
ActiveSheet.PrintPreview '.PrintOut
Next
End Sub
    • good
    • 0
この回答へのお礼

返事が遅れてしまいってすいませんでした。

Accessから印刷は、おもいつきませんでした
見栄えはともかく、便利ですね。

EXCELのほうは、VBAを使ってるんで
理解するのにちょっと勉強しないと駄目ですね(^^;
いい機会なんで、VBAマスターできるようにがんばります。
ありがとうございました(^_^)

お礼日時:2001/05/07 11:08

強引ですが、


用紙がA4横なら、印刷設定をA5縦にして、プリンタ側の縮小印刷機能で2ページを1枚にまとめる。
用紙がA4縦なら、印刷設定をA6縦にして、プリンタ側の縮小印刷機能2~4ページを1枚にまとめる。
という横着な手もありかも…
    • good
    • 1

プリンタの"拡張機能"の中に、"集約"っていうのがあります。

これで1ページに2ページ分入れることができます。・・・が、プリンタによって、出来るものと出来ないものがあります・・・

この回答への補足

集約機能というのはあるのですが
それを使うと1枚目と2枚目の間が
やはりすごく空いてしまいます(^^;

でもなにかと便利な機能ですよねこれ

補足日時:2001/04/23 10:51
    • good
    • 0

lenon204さんの質問は2つに分けて考えたほうが良いのでは?



1.見出しをつけるためには?
2.用紙1ページにデータ2ページ分を印刷するためには?

1.はxaxaさんの回答のとおりでしょう。
2.は、私も同じことをしたかったけど、わからなかったので
  プリンタの縮小印刷機能を利用しています。
  (用紙1ページにデータ複数ページを印刷できる機能つき)
  プリンタのマニュアルでご確認ください。

ではでは。

この回答への補足

bin-chanさんのおっしゃるとおりです
見出しは問題無くいけてます。
質問を見やすくしようと思ったんですが
よけいややこしかったですかね?(^^;

問題は1ページに、1、2ページ分のデータを
いれる方法なんです。(縮小とかではなくて)

プリンタのオプションも、いろいろ試してみます

補足日時:2001/04/19 15:23
    • good
    • 0

こんにちは



ファイル→ページ設定とすすみ、
シートのタブで印刷タイトル(R)に、
例えば1行目だったら、$1:$1のように、
項目の行を指定してください。

縦長のデータならそれで自動的に、
各ページの一行目に項目行が印刷されます。
    • good
    • 0

計算,集計用とは別に 印刷用のシートを作成すれば いかがでしょう。



幾つか項目が たまったら、行替えも「自動」で したいのでしょうか?

この回答への補足

その行替えを「自動」でやりたいのですが
やはりページの設定とかでは無理なんでしょうか

印刷用シートを作成して元シートを参照する方法も試してみましたが。1ページの式を作ったら後のページは同じ式を貼りつけというふうにはゆかず困っています。

↓大元データを参照した式が入っています
 
1   4   7  
2↓ 5↓ 8↓
3   6   9

2ページ目に上の式コピーすると

4   7   10
5↓ 8↓ 11↓
6   9   12

4.5.6.7.8.9がダブる。
結局全部の改行の式を設定してやらないと
駄目なんです。

もうすこし手順を減らす
うまい方法ありますでしょうか?

補足日時:2001/04/19 15:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Q★☆★Windows XPのパソコンにOffice2000を★☆★

2年ほど前に購入した本にCD-ROMが付いていて

CD-ROMの使用に必要な動作環境
C P U:Pentium75MHz以上
メモリ:28MB以上
O S :Microsoft Windows98
Microsoft Excel2000

とあります。
私は今まで借り物のパソコンでやっていましたが
この度、購入することにしました。
今のパソコンはWindows XP(ということはOffice XP)
もしこれを購入したとして、私のCD-ROMは使えますか?
人に聞いたところ、Windows XP?だかOffice XP?を削除して(両方?片方?)
Windows98とOffice2000をインストールすれば?とか・・・?
これをやってソフトやパソコンがおかしくなるなんてことはないのですか?
(ないといわれましたが・・・)

私はWindows98、Excel2000じゃないとだめだから、
新製品は買えないんだーーー
選択肢は中古品に限られてしまうんだーーー
って思っていましたが、お友達いわく「そんなわけないじゃん」
友人を信用しないというわけではないのですが
買った後にダメだったでは済まされない金額なので
この場を借りて質問しました。
素人質問で申し訳ないのですが、教えてください。

2年ほど前に購入した本にCD-ROMが付いていて

CD-ROMの使用に必要な動作環境
C P U:Pentium75MHz以上
メモリ:28MB以上
O S :Microsoft Windows98
Microsoft Excel2000

とあります。
私は今まで借り物のパソコンでやっていましたが
この度、購入することにしました。
今のパソコンはWindows XP(ということはOffice XP)
もしこれを購入したとして、私のCD-ROMは使えますか?
人に聞いたところ、Windows XP?だかOffice XP?を削除して(両方?片方?)
Windows98とOffice2000をインストールすれば...続きを読む

Aベストアンサー

まず、お持ちのソフトですがwindows98、Excel2000とあれば
windowsXP、officeXP で動かない可能性もあります。

特にMOUS2000試験用のソフトは、windowsXPで動作する
ことを前提に作られていないものがあるため、詳細はメーカー
(出版社)のホームページまたはソフト推奨環境をご覧下さい。
メーカーによってはXPに対応させる為のモジュールを配布していたり
するようです。
お持ちのCDがどちらのものかわかりませんので、確証はありません。

自分ので試したところ、動きが止まったり読み込みエラーがでたり
しましたので、全くダメではないと思いますが難しいかもしれませんね。
(windowsXP homemとProfessional、officeXP)

いっそ、Excel2002やWord2002などのMOUS試験に切り替えられては?

windowsXPやofficeXPを削除されなくても、windows98とOffice2000を
ハードディスクに余裕があれば、同時に使う方法はありますよ。

まず、お持ちのソフトですがwindows98、Excel2000とあれば
windowsXP、officeXP で動かない可能性もあります。

特にMOUS2000試験用のソフトは、windowsXPで動作する
ことを前提に作られていないものがあるため、詳細はメーカー
(出版社)のホームページまたはソフト推奨環境をご覧下さい。
メーカーによってはXPに対応させる為のモジュールを配布していたり
するようです。
お持ちのCDがどちらのものかわかりませんので、確証はありません。

自分ので試したところ、動きが止まったり読み...続きを読む

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

QExc 区切り位置 列指定→特定の一字の右で区切り→特定の一字が消えてしまう。

こんにちはいつもお世話になってます。

Excel2003の区切り位置機能について教えて下さい。

I列にセルが(goo小学校一年生)~(goo小学校六年生)まで数十個入ってます。※カッコはありません。
一括で、(goo小学校)と(●年生)の列に分けたいのですが、(校)の文字で分けるように設定すると(したつもり)、(goo小学)と(●年生)部分に分かれてしまいます。

どのように設定すれば良いのでしょうか?
よろしくお願いします。

Aベストアンサー

「区切り文字」はデータとして扱われない(区切りを示すだけ)と解釈され、
区切り後になくなるのは止むを得ないでしょう。

方法は2つかな?

1.「校」を補う。
2.すべてが(goo小学校)なら、LeftまたはMid関数で切り出し位置を指定する。

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Qエクセル2007のページ区切り線について

ページ区切り線が枠線と同じような色なので見にくいのです。ページ区切り線の色を終えるのにはどうしたらいいのでしょうか。よろしくお願いいたします。

Aベストアンサー

現在の標準から改ページプレビュー画面に変更しては如何でしょうか。

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

QExcelです。↓キーを押すとページダウンしてしまいます

WinXPでExcel2002を使用しています。
機器はFujitsu FMV-7170NU3(ノート)です。

Excelを使用して仕事をしています。
↓矢印キーを打つとカレントセルがひとつ下にずれるのが通常動作だと思うのですが、
ある時からページダウンするようになってしまいました。

PCを再起動しても、他のExcelファイルを開いても同じ動作なので何かの拍子に、
この動作をロックしてしまったのかとは思うのですが・・・。
どうすれば直るのかがわかりません。たすけてー。

Aベストアンサー

スクロールロックがかかっているようです。
キーボードのスクロールロックキーを押せば解除されます。
ノートであれば、ファンクションキー(Fnキー)といっしょに押すような形になっているものがおおいですね。
多分右上の方にあると思いますよ。

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Qエクセルのページ区切り(点線)の位置をマクロで取得 ※印刷範囲クリア

エクセルにて「印刷範囲 クリア」して「印刷プレビュー」してから戻りますと、
ページ区切り(点線)が自動で設定され表示されます。
その位置(行)をマクロで取得するのは可能でしょうか?

バージョンは2000~2013です。

Aベストアンサー

こんにちは。

>・ドキュメントは単ページで、改ページがありません
>・ユーザーが「印刷範囲の設定」を行わない状態で
>・A4用紙等のサイズで印刷する際の、最下行、最右列を知りたい
>
>というのが趣旨でした。

なかなか難しい内容でした。私などは、かろうじて記憶にあるかないかぐらいの所なのです。安直に考える人は、もう少し簡単なコードにするはずです。だいたい、それで納まってしまうものなのですが。

それで、40代の回答者を求むというわけですね。でも、これは、Excelレガシーのたぐいだから、もうちょっと上の年齢ですね。(^^;

たぶん、ここらは散々、ベテランの人たちが研究し尽くした後だと思います。私は、このあたりは、昔、徹底して調べたつもりだったのですが、その結果は得られませんでした。

本来、#2のコードを直せば、使えるのですが、それとは別に、まったく空のシートに対しても可能なように、印刷範囲をインクリメントしていく方法で、作ってみました。ただし、必ず、起点は、A1になります。


'//

Sub PrintArea_P_Type()
'ペーバーのサイズによる1ページの印刷範囲
  Dim i As Integer
  Dim j As Integer
  Dim Prlen
  Dim orgParea As String
  Dim PRarea As String
  Dim pRw, Cl, oldCl
  Application.ScreenUpdating = True
  With ActiveSheet
     orgParea = .PageSetup.PrintArea
    .ResetAllPageBreaks
    .PageSetup.PrintArea = ""
    On Error Resume Next
    Prlen = Application.ExecuteExcel4Macro("INDEX(GET.DOCUMENT(46),1,6)")
    Application.ScreenUpdating = False
    Do
      Err.Clear
      i = i + 1
      .PageSetup.PrintArea = .Cells(1, 1).Resize(Prlen, i).Address
      oldCl = Cl
      DoEvents
      Cl = Application.ExecuteExcel4Macro("INDEX(GET.DOCUMENT(65),1,1)")
    Loop Until oldCl = Cl
    
    On Error GoTo 0
    Application.ScreenUpdating = True
    
    On Error GoTo ErrHandler
    pRw = Application.ExecuteExcel4Macro("INDEX(GET.DOCUMENT(64),1,1)")
    PRarea = Range(Cells(1, 1), Cells(pRw - 1, Cl - 1)).Address
    MsgBox PRarea
    .PageSetup.PrintArea = orgParea
    .DisplayPageBreaks = True
  End With
  Exit Sub
ErrHandler:
  If Err.Number Then
    MsgBox Err.Number & ": " & Err.Description
  End If
End Sub

こんにちは。

>・ドキュメントは単ページで、改ページがありません
>・ユーザーが「印刷範囲の設定」を行わない状態で
>・A4用紙等のサイズで印刷する際の、最下行、最右列を知りたい
>
>というのが趣旨でした。

なかなか難しい内容でした。私などは、かろうじて記憶にあるかないかぐらいの所なのです。安直に考える人は、もう少し簡単なコードにするはずです。だいたい、それで納まってしまうものなのですが。

それで、40代の回答者を求むというわけですね。でも、これは、Excelレガシーのたぐいだから、もう...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報