エクセルのシートを1ページに収まるように印刷する方法は知っていますが、適当に作成したシートを1ページに収まるよう拡大・縮小する方法が分かりません。つまり、セルの縦横の比率やセルの大きさに対するフォントの割合を変えず、ページ設定で縮尺を100%にした時に、ページにすっぽり収まって欲しい訳です。ヘルプを見たのですが、どうもそのような機能が見つかりません。

なぜそのようなことをする必要があるかというと、結構項目の多いエクセルの表をそのままコピーし、ワードに「形式を選択して貼り付け」で「図」としてペーストしようとすると、縮尺100%で1ページ分にあたる領域しか貼り付けることができなかったからです。

エクセル側、ワード側のどちらからのアプローチでも構いません。教えて下さい。

稚拙な説明で恐縮です。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

No.2です。


失礼いたしました。
マイクロソフト サポート技術情報 - JP111748にしっかり「一部しか貼り付けられません」と書いてありました。
エクセルとワードだけを使ってまともな方法で、ということではだめなようです。
上記サポート技術情報にある方法以外で思い付くのは、プリンタ出力を何らかの方法で図にすることくらいでしょうか。
    • good
    • 0
この回答へのお礼

再びありがとうございます。
やはりできないのですね。いろいろ試していただいて感謝しています。

お礼日時:2002/09/21 13:53

こんにちは。

はじめまして。

ワード側のアプローチでやってみました。
まず、エクセルの表をコピーし、ワードで新しい文書を開き、そこに「形式を選択して貼り付け」-「Microsoft Excel ワークシート オブジェクト」で貼り付けます。
次に、貼り付けたオブジェクトを縮小します。
最後に、縮小したMicrosoft Excel ワークシート オブジェクトをコピーし、本来貼り付けたい場所に貼り付けます。そのときに、「形式を選択して貼り付け」-「図」にすればいいのです。
要点のみ述べると、Microsoft Excel ワークシート オブジェクトで貼り付けると1ページ以上の領域の貼り付けが可能なようです。
    • good
    • 0
この回答へのお礼

お返事いただきありがとうございます。

アドバイスいただいた方法を試してみました。しかし、やはりうまく行かないようです。

どうしても、拡大率100%にして1ページに収まる範囲しか貼り付けることができません。

もう少し自分でも検討してみます。

お礼日時:2002/09/13 18:36

こんにちは。

ご希望の結果が得られるかどうかはわかりませんが、
一応ボクの環境では成功しましたので、コメントしてみます。

エクセルの機能である「カメラ」を使うと上手くできました。
デジカメで・・・じゃないですよ^^;

その方法はといいますと・・・

(1)移行したい範囲を「カメラ」でコピーし一度エクセル内に貼り付けます。
(2)次はその画像をコピー。
(3)ワード上で「形式を選択して貼り付け」で「図」として張り付け。

この手順で上手く全範囲が貼り付けられました。

お試しください♪

--------------------------
一応エクセルの「カメラ」機能について説明しておきます。

コピー&貼り付けの拡張版みたいなもんなんですが、
普通のコピーとの違いは、選択したセルの範囲のコピーを
まるで写真を取るかのように画像化して貼り付けられる点です。

貼り付け後は画像データのように扱えるんですが、
完全に画像化しているわけではなく内容は元のデータとリンクしています。

【「カメラ」アイコンの追加方法】

・まずメニューの「表示」-「ツールバー」-「ユーザー設定」します。
・「コマンド」のタブの「分類」のリストの中から「ツール」を選択し、
・右の「コマンド」のリストの中から「カメラ」のアイコンを選択、
・ドラッグ&ドロップでツールバーの中の適当な位置におきます。

これで「カメラ」が使えるようになります。

【「カメラ」の使い方】

・コピーしたいセルの範囲を選択し、「カメラ」アイコンをクリック。
・貼り付けたい位置でマウス左クリック。

これで元の表の画像化したデータが貼り付けられます。
画像の大きさの変更は普通の画像の大きさを変更するのと同じです。
元のセルの値を変えると、画像内のデータもリンクして変更されます。
------------------------------

本来「カメラ」は同じページの中に列幅列数などの構成が違う表を配置
したいときに有効でボクもたまに使ってますが、
今回試したところ「カメラ」で作った画像をワードにも貼り付けることができ、
選択範囲も試した範囲では全て含まれてましたよ。
縦横の比率やセルの大きさに対するフォントの割合もたぶん保持できてました。

ただ、ワード上に貼り付けちゃうとデータのリンクは機能しなくなってましたが。

ちょっと説明が長くなってしまいました。

では♪
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

おすすめいただいた方法で試してみましたが、どうもうまく行かないようです。症状は同じでした。

仕方がないので、マニュアルで全ての設定を小さくし、なんとか対応しました。

また何か思いつかれたら教えて下さい。

お礼日時:2002/09/10 12:11

このQ&Aに関連する人気のQ&A

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

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

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

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

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

Aベストアンサー

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

Q同じブック内の、あるシートの表を別シートにリンク貼り付けしたのですが、貼り付けた側の空白のセルに0がついてしまう

エクセル97にて、
同じブック内の、あるシートの表を別シートに
「リンク貼り付け」したのですが、貼り付けた側の
空白の部分に「0」(日付の場合は「00/1/0」「1900/1/0」)がついてしまうのですが、
空白のままにする方法はありますでしょうか?

Aベストアンサー

ツール→オプション→表示→ゼロ値のチェックをはずしてみてください。
それで0が消えると思います。

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

Qアクティブセルとそのセルに隣接する右隣の2つのセルをコピーしてシート2に貼り付ける

「アクティブセルとそのセルに隣接する右隣の2つのセルをコピーしてシート2に貼り付ける」というVBAコードが知りたいです。

「アクティブセルをシート2に貼り付ける」だけなら
Selection.Copy
Sheets("Sheet2").Select
ActiveSheet.Paste
はわかるのですが、
「アクティブセルとそのセルに隣接する右隣の2つのセルをコピー」がわかりません。

例えて言うなら
A1がアクティブならA1からC1までコピーして
シート2の(C3がアクティブなら)C3からE3に貼り付けたいです。
よろしくお願いします。

Aベストアンサー

Resizeをつかえばできますよ。
こんな感じです。

Sub test01()
ActiveCell.Resize(1, 3).Copy
Sheets("Sheet2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

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エクセル 合計が100%を超えたら100%にしたいのですが・・・

エクセル初心者です。
各セルの値を合計した時に、上限(例えば100%)を超えた場合には100%と表示したいのですが、どうしたらよいのでしょうか。
因みに、現在合計値のセルは、【=SUM(H17:AL17)】などとなっております。
おそらくIF文を使うのかなとは思いますが、上手くいかない為、ご指導頂ければと思います。
宜しくお願い致します。

Aベストアンサー

=IF(SUM(H17:AL17)>1,1,SUM(H17:AL17))

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関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

Qエクセルでシート1のセルに入力すると別シートのセルに表示させるには

依頼されて会員証をエクセル2003で作っている最中です。
SHEET1に下記の様に会員証のベースを作ました。

[●●●の会]
会員番号 [SHEET2の会員番号列]
住所 [SHEET2の住所列]
氏名 [SHEET2の氏名列]
電話番号 [SHEET2の電話番号列]
[管理社名]

SHEET2にまだ空欄ですが、会員番号・住所・氏名・電話番号のリスト表を作りました。

ここからが課題でして、SHEET2に会員番号、住所とセルに打ち込んでいくと

SHEET1のそれぞれに対応したセルに表示させる為に

SHEET1のセルに、[=Sheet2!A3]と打ち込めば、

SHEET2のA3のセルが対応されますが、

これではそのセルしか対応しません。

SHEET2の1行目に会員番号、住所から打ち込んだものは、

単純にSHEET1の表示させたいセルに[=SHEET2!○○]を打ち込めば、

それが対応されます。

ただSHEET2の2行目は空白ですので、新たに打ち込んで対応させようとしても出来ません。

毎度毎度SHEET1の表示させたセルに[=SHEET2!○○]をしていくのは大変です。

新規にリストを打ち込むたびにSHEET1の会員証に

表示させる方法はどういったものがあげられるのでしょうか?

或いは、SHEET1の会員証ベースに打ち込んでいくとSHEET2のリストに

自動的に登録される仕組みの方がやりやすいのでしょうか?

数式も教えていただければ大変有難いです。

アクセスの方がやりやすいかもしれませんが、

依頼した方のPCにはアクセスは入っていないですし、

私自身もアクセスはイマイチの部分があります。

エクセルのマクロなるものを使えません。

年始早々に使用したいとの事ですので、
なんとか仕上げてあげたいとは思います。
宜しくお願い致します。

依頼されて会員証をエクセル2003で作っている最中です。
SHEET1に下記の様に会員証のベースを作ました。

[●●●の会]
会員番号 [SHEET2の会員番号列]
住所 [SHEET2の住所列]
氏名 [SHEET2の氏名列]
電話番号 [SHEET2の電話番号列]
[管理社名]

SHEET2にまだ空欄ですが、会員番号・住所・氏名・電話番号のリスト表を作りました。

ここからが課題でして、SHEET2に会員番号、住所とセルに打ち込んでいくと

SHEET1のそれぞれに対応したセルに表示させる為に

SHEET1のセルに、[=Sheet2!A3]と...続きを読む

Aベストアンサー

>次のA3に会員番号00002として打ち込み、会員種類を法人、以下違う人の名前や電話番号などを打ち込んでも、SHEET1では会員番号が変わるだけで、他は1行の情報のままです。。。。。。

=IF(B2="","",ROW())
こちらの式はA2セル入力の後下方向にコピーしてください、Sheet2の会員番号は会員種類に入力があると自動的に表示されます、直接入力はしないでください。
表示形式を00002としたいのであれば、Sheet2のA列とSheet1の会員番号セルをセルの書式設定のユーザー定義で00000としてください。

て入力で00002と入力してその表示になっているので有ればそれは文字列として設定されていると思います、文字列の場合はSheet1の会員番号の呼び出しのMAX関数が働きません。


>OFFSETは基準の端から端までを考えなくても良いという事で、会員番号の最大値と最終行は等しいから、C2でも良いし、D2でも良いのでしょうか?
>OFFSETの行数設定で(A:A)ではおかしい事になるのでしょうか?

OFFSETで求めているのはVLOOKUP関数の検索範囲の右下のセル番地です
http://officetanaka.net/excel/function/function/offset.htm
OFFSETの図解説明のサイトです。

>次のA3に会員番号00002として打ち込み、会員種類を法人、以下違う人の名前や電話番号などを打ち込んでも、SHEET1では会員番号が変わるだけで、他は1行の情報のままです。。。。。。

=IF(B2="","",ROW())
こちらの式はA2セル入力の後下方向にコピーしてください、Sheet2の会員番号は会員種類に入力があると自動的に表示されます、直接入力はしないでください。
表示形式を00002としたいのであれば、Sheet2のA列とSheet1の会員番号セルをセルの書式設定のユーザー定義で00000としてください。

て入力で000...続きを読む

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),"")を設定
   入力文字列が存在しない場合は空白としています。

QVBA あるセルの内容と同じ内容のセルを検索してその横のセルをコピーして貼り付ける

VBAの質問です。
Sheet1のA2のセルと同じ文字列をSheet2のB列で検索し、検索された同じ文字列のセルの右隣をSheet1のA4にコピー貼り付け、同じ文字列のセルの2つ右隣~4つ右隣のセルまでをB2~B4に縦と横を入れ替えてコピーし貼り付けたい。
宜しくお願いします。

Aベストアンサー

こんばんは!

なかなか回答が付かないようなので・・・
Sheet2のB列に重複データはないという前提です。

Sub Sample1()
Dim c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
Set c = wS.Range("B:B").Find(what:=.Range("A2"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Range("A4") = c.Offset(, 1)
c.Offset(, 2).Resize(, 3).Copy
.Range("B2").PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
End If
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

なかなか回答が付かないようなので・・・
Sheet2のB列に重複データはないという前提です。

Sub Sample1()
Dim c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
Set c = wS.Range("B:B").Find(what:=.Range("A2"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Range("A4") = c.Offset(, 1)
c.Offset(, 2).Resize(, 3).Copy
.Range("B2").PasteSpecial ...続きを読む


人気Q&Aランキング

おすすめ情報