人に聞けない痔の悩み、これでスッキリ >>

エクセルでできている名簿リストから、すでにエクセルでできている個人別のシートに差込印刷したいのです。一人ずつセル参照で作ることはできるのですが、全部で300人分くらいあるのでワードの差込印刷のように一度にできる方法が知りたいのです。本日中にやらねばならないので手作業では、間に合いそうにありませんしVBAの勉強をしている余裕もありません。

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

A 回答 (7件)

VBAでもない解答をします。

ただファイル-印刷の操作を
300回すること。最終部のようにすれば、VBAで自動化も出来ます。
(1)Sheet2のA1:E3に住所録が
氏名郵便番号住所1住所2
山田 和郎111-1111東京都小平市新町2-1-2光マンション222
木之下 重雄222-2222東京都三鷹市本町4-3-2三国荘201
あるとします。本番ではA1:E300とかに住所録があります。
(2)Sheet1は印刷する画面シートです。
F1セルに2、
F2に="Sheet2!A"&F1
F3に="Sheet2!B"&F1
F4に="Sheet2!C"&F1
F5に="Sheet2!D"&F1
F6に="Sheet2!E"&F1
郵便番号を置くセルをB3として式=INDIRECT(F3)
府県市を入れるセルをB5として式=INDIRECT(F4)
町番地を入れるセルをB6として式=INDIRECT(F5)
気付を入れるセルをC6として式=INDIRECT(F6)
名前を入れるセルをB8として式=INDIRECT(F2)
C8に「様」を入れる。
(3)F1セルが2の時は
111-1111

東京都小平市
新町2-1-2光マンション222

山田 和郎様
となりますが、このA1:C8を印刷する。
(4)F1セルの値を3に変える(3を入力する)と
222-2222

東京都三鷹市
本町4-3-2三国荘201

木之下 重雄様
と瞬時に変るが、これを印刷する。
(5)F1を4、5、6、・・・と変えて印刷、変えて印刷すれば良い。
この(5)の部分だけをマクロの記録やVBAにすれば、
同じVBAでも既解答よりずっと易しいと思いますがいかがででしょうか。
Sub test01()
Worksheets("sheet1").Activate
For i = 2 To 3 '300
Cells(1, "F") = i
Range("a1:c8").PrintOut
Next i
End Sub
行高、セル幅、フォントサイズなどは手動で設定。
氏名、郵便番号、住所を置くセルは自由に出来ます。
上記でF1:F6も自由に別列に設定できます。
    • good
    • 3
この回答へのお礼

有難うございました、まとめてお礼させていただきます。でも、結構難しいですね。一人分のデーターをセル参照式にてカードに転記するのはできてるのですが、次の行の同じ列に変えてなどというのは、コマンドで簡単にできるのかと思ってましたので。前日に似たような質問ありましたよと書かれてた人ありましたが、それも私です。ただ、条件をきっちり書いてなかったのでエクセル表からワードの差込印刷すればという意見多くてし直した次第です。補足に書いても反応なかったので。でも、この機能ってエクセルのコマンドにあってもよさそうに思うのは、私だけでしょうか

お礼日時:2003/10/02 23:08

No.5 ですが、急いだのでちょっと訂正です。


どのシートをアクティブにした状態でマクロを実行してもいいようにするつもり
でしたので、コードを次のように訂正します。

なお、データの配置が違って使えない場合は、状況を補足願います。

Sub SashikomiPrt()
Dim Meibo As Worksheet
Dim Kojin As Worksheet
Dim Rng As Range
Dim R As Range
Set Meibo = Worksheets("名簿") '基データシート名指定
Set Kojin = Worksheets("個人別") '印刷シート名指定
Set Rng = Meibo.Range("A2:A300") '差し込むデータの一番左列の範囲
For Each R In Rng

  '↓ 個人別シートの B2 にA列のデータを差し込む場合
  Kojin.Range("B2").Value = R.Value

  '↓ さらに個人別シートの C2 に 「1つ右のセル」内容を差し込む場合の例
  Kojin.Range("C2").Value = R.Offset(, 1).Value

  ' もっと差し込む場合は、この下に次々記述します。
  'Kojin.Range("D2").Value = R.Offset(, 2).Value

  Kojin.PrintPreview 'プレビューで確認しながら印刷する場合
  'Kojin.PrintOut ' 直接印刷する場合。(先頭の ' を上に付替える)

Next R
Set Meibo = Nothing
Set Kojin = Nothing
End Sub
    • good
    • 2

データがどのように配置されていて、差込するのは、どの部分なのか、解らないのですが、


取り敢えず、任意に設定できるように作りましたのでテストしてみてください。

たぶん、このようなことと解釈したのですが・・・

一応、VBAの設定方法を書いておきます。

1.Alt + F11 で VBE(Visual Basic Editor)を開きます。
2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。
3.モジュールウィンドウに下記コードをコピーして貼り付けます。
4.現状に合わせ、6~7行目とその以降の差し込む位置と個数を設定します。
5.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。
6.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を
 「中」を選択して[OK]します。
7.実行するときは、Alt + F8 (メニューから[ツール]-->[マクロ]-->[マクロ])で
 「SashikomiPrt」を指定し、[実行]ボタンを押します。

Sub SashikomiPrt()
Dim Meibo As Worksheet
Dim Kojin As Worksheet
Dim Rng As Range
Dim R As Range
Set Meibo = Worksheets("名簿") '基データシート名指定
Set Kojin = Worksheets("個人別") '印刷シート名指定
Set Rng = Meibo.Range("A2:A300") '差し込むデータの一番左列の範囲
For Each R In Rng

  '↓ 個人別シートの B2 にA列のデータを差し込む場合
  Kojin.Range("B2").Value = R.Value

  '↓ さらに個人別シートの C2 に 「1つ右のセル」内容を差し込む場合の例
  Kojin.Range("C2").Value = R.Offset(, 1).Value

  ' もっと差し込む場合は、この下に次々記述します。
  'Kojin.Range("D2").Value = R.Offset(, 2).Value

  ActiveSheet.PrintPreview 'プレビューで確認しながら印刷する場合
  'ActiveSheet.PrintOut ' 直接印刷する場合。(先頭の ' を上に付替える)

Next R
Set Meibo = Nothing
Set Kojin = Nothing
End Sub
    • good
    • 2

No2の方法で良いと思います。


小生はこういった場合マクロに次のような設定でやっています。
Sheet1が印刷するフォームで印刷範囲の設定済み
Sheet2がデータ
データに連番たとえばA列
Sheet1の印刷以外のところたとえばA1のセルに印刷データ検索値 Vlookup(検索値、データ範囲(名前をつけると便利)・・・・となりそれぞれの差し込み部分を対応させる。

Sub 印刷print()
Dim i As Integer
For i = 1 To 300

Worksheets("sheet1").Activate
Range("A1").Value = i
ActiveSheet.PrintOut
'ActiveSheet.PrintPreview

Next
End Sub

印刷をしないで確認の場合は’ActiveSheet.PrintOut
とし、ActiveSheet.PrintPreviewの ' を外す
テストの場合i=1 to 2 とかでやって確認すればよいでしょう
    • good
    • 2

大変ですね。


自動で一度に印刷はできないのですが、1人分印刷ごとに番号入力する程度になら短縮可能です。
データ行の先頭セルに連番を振る事はできますか?また、印刷シートの印刷範囲外のセルに入力は可能でしょうか?
できるようでしたら、印刷シート側でVLOOKUP関数を使えばできます。
あまり大したアイディアでは無いですが・・もうすでに思いついてらっしゃるかとも思ったのですが少しでも手助けになればと思い回答してみました。
頑張ってください。
    • good
    • 6

VLOOKUP関数を使いましょう。


既存のシートの左端に列を一列挿入して、
通し番号を入れます。
あとは、差込印刷したい部分に、
VLOOKUP関数を入力します。

ポイントは、印刷シートの欄外に検索値のセルを設定することです。
    • good
    • 2

「word 差込」でgoogle検索、結構かなりヒットします



そのなかの一つ
http://www.moka-tcg.ed.jp/yuuai/oshirase/word/sa …

参考URL:http://www.moka-tcg.ed.jp/yuuai/oshirase/word/sa …
    • good
    • 0

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

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

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

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

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

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

Qexcelデータを使用して、excelの別なシートに、差し込み印刷をし

excelデータを使用して、excelの別なシートに、差し込み印刷をしたいのですが、その方法が解りません。ご存知の方いらっしゃればお教えください。

Aベストアンサー

Excel 2007では、ウィザードを使ってラベル印刷ができるようですが、Excelの一般機能では差し込み印刷はできません。

「Excel ラベル印刷ウィザード」
http://office.microsoft.com/ja-jp/excel/HP100775161041.aspx

VBAを使えば、Excelで差し込み印刷ができるようですが、VBAに慣れておられなければ、Wordの差し込み印刷を使用した方がよいと思います。

下記URLのページは、VBAを使った差し込み印刷の過去ログの例と検索結果です。

「エクセルの名簿一覧表からすでにエクセルで作られている一人づつのシートに差込印刷」
http://oshiete1.goo.ne.jp/qa667710.html

「Excel 差し込み印刷 VBA」の検索結果
http://www.google.co.jp/search?hl=ja&num=20&q=Excel%E3%80%80%E5%B7%AE%E3%81%97%E8%BE%BC%E3%81%BF%E5%8D%B0%E5%88%B7%E3%80%80VBA&lr=lang_ja&aq=f&oq=

Excel 2007では、ウィザードを使ってラベル印刷ができるようですが、Excelの一般機能では差し込み印刷はできません。

「Excel ラベル印刷ウィザード」
http://office.microsoft.com/ja-jp/excel/HP100775161041.aspx

VBAを使えば、Excelで差し込み印刷ができるようですが、VBAに慣れておられなければ、Wordの差し込み印刷を使用した方がよいと思います。

下記URLのページは、VBAを使った差し込み印刷の過去ログの例と検索結果です。

「エクセルの名簿一覧表からすでにエクセルで作られている一人づつ...続きを読む

Qエクセルから帳票形式に差込印刷したいのですが

皆さん初めまして!

エクセルで1万件に近いデータがあります。

これらを帳票形式に差込印刷したいと思えば、ワードの「差込印刷」機能以外に、エクセル自体で行なうことは不可能でしょうか?

(例:請求データを請求書フォームに印刷)

ワードの差込印刷は便利ですが、エクセルデータ形式(特に金額のカンマ区切り表示が必要なため)を参照する際は、フィールド設定の数の制限が22列まで?で・・・行き詰っています(私は約40列あります)。

エクセル・ワードの操作は上級手前の操作まではいけますが、
エクセルでVBA、差込印刷マクロを作るとまではいけないもので・・・何か妙案がありましたらご教示願います・・・

Aベストアンサー

#01です。出血大サービスです(^^;
ただし不具合以外の修正はご自身でお願いします。
2行目~4行目と項目の定義の箇所は再度設定し直してください。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名
Const prs As String = "Sheet2" '印刷するシート名
Const strt As Integer = 2 '元データの実データ開始行
Dim idx, fromL, toL As Long
Dim oSht, pSht As Worksheet
Dim res, res2
 Set oSht = Worksheets(org)
 Set pSht = Worksheets(prs)
 res = MsgBox("印刷行範囲を指定しますか?" & Chr(13) & _
  "はい:指定する、いいえ:指定しないで全件印刷、CANCEL:印刷しない", vbYesNoCancel)
 Select Case res
  Case Is = vbCancel
   Exit Sub
  Case Is = vbYes
   res2 = Application.InputBox("印刷開始行を半角数字で入力して下さい", Type:=1)
   If TypeName(res2) = "Boolean" Then
    MsgBox "印刷を中止しました", vbOKOnly
    Exit Sub
   Else
    If res2 >= strt And res2 <= oSht.Range("A65536").End(xlUp).Row Then
     fromL = res2
    Else
     MsgBox "開始行が不適切です。印刷を中止しました", vbOKOnly
     Exit Sub
    End If
   End If
   res2 = Application.InputBox("印刷する最終行を入力して下さい" & Chr(13) & _
     "99999を入力すると最終行まで印刷します", Type:=1)
   If TypeName(res2) = "Boolean" Then
    MsgBox "印刷を中止しました", vbOKOnly
    Exit Sub
   Else
    If res2 = 99999 Then
     toL = oSht.Range("A65536").End(xlUp).Row
    Else
     If res2 >= fromL And res2 <= oSht.Range("A65536").End(xlUp).Row Then
      toL = res2
     Else
      MsgBox "最終行が不適切です。印刷を中止しました", vbOKOnly
      Exit Sub
     End If
    End If
   End If
  Case Else
   fromL = strt
   toL = oSht.Range("A65536").End(xlUp).Row
 End Select

 For idx = fromL To toL
'以下の行を項目数だけコピーして定義する
  pSht.Range("A1").Value = oSht.Cells(idx, "A").Value
'
  pSht.PrintOut '印刷
'5頁につき8秒休止する
  If (idx Mod 5) = 0 Then
   DoEvents
   Sleep 8000
  End If
 Next idx
End Sub

#01です。出血大サービスです(^^;
ただし不具合以外の修正はご自身でお願いします。
2行目~4行目と項目の定義の箇所は再度設定し直してください。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名
Const prs As String = "Sheet2" '印刷するシート名
Const strt As Integer = 2 '元データの実データ開始行
Dim idx, fromL, toL As Long
Dim oSht, pSht As Worksheet
Dim res, res2
 Set oSht = Works...続きを読む

Qエクセルを使って名簿を連続印刷するには

名簿の名前だけを一人一人ピックアップして、A1のセルに入れて、連続して自動印刷はできますか。
使っているソフトは、EXCEL2003です。
宜しくお願いいたします。

Aベストアンサー

もう少し名簿がどのシートにどのような状態であるとか、印刷用のシートは別シートであるとか、
マクロの知識はありますとか、詳細な情報を質問に入れた方が、回答を得易いと思いますよ。

で、Sheet1のセルAに以下のように名簿が並んでるとします。

氏名(これはタイトル)
宛先 氏名1
宛先 氏名2
宛先 氏名3
宛先 氏名4
宛先 氏名5
宛先 氏名6
宛先 氏名7
宛先 氏名8
宛先 氏名9

印刷は別のシート、例えばSheet2に印刷するとした場合は以下のマクロで行えます。
なお、Sheet2の印刷範囲は仮にA1:D7の範囲としています。

Sub Pri_Name()

 Range("A2").Activate
 Do While ActiveCell.Text <> ""
  Worksheets(2).Range("A1").Value = ActiveCell.Text
  Worksheets(2).Range("A1:D7").PrintOut
  ActiveCell.Offset(1, 0).Activate
 Loop

End Sub

上記のマクロはAltキーを押しながらF11キーを押して表示されるマクロのエディタでF7キーを
押して出てきたところに貼り付けます。
印刷を実行する場合はAltキーを押しながらF8キーを押して表示されるマクロの実行指示画面で
「Sheet1.Pri_Name」が選択されている事を確認して、同画面にある「実行(R)」ボタンを押します。

もう少し名簿がどのシートにどのような状態であるとか、印刷用のシートは別シートであるとか、
マクロの知識はありますとか、詳細な情報を質問に入れた方が、回答を得易いと思いますよ。

で、Sheet1のセルAに以下のように名簿が並んでるとします。

氏名(これはタイトル)
宛先 氏名1
宛先 氏名2
宛先 氏名3
宛先 氏名4
宛先 氏名5
宛先 氏名6
宛先 氏名7
宛先 氏名8
宛先 氏名9

印刷は別のシート、例えばSheet2に印刷するとした場合は以下のマクロで行えます。
なお、Sheet2の印刷範...続きを読む

QEXCELで一覧表のデータを個別に印刷したい

こんにちわ。
質問させて頂きます。

EXCEL(エクセル)で一覧表になっているデータがありまして、それを1件1件『A4用紙1枚づつ』に印刷したい。
という発案で、色々調べたのですが上手くいかず・・・。

WORDからの差込印刷も試してみましたが、レイアウトや罫線などの設定も細かく出来ないので駄目でした。



ちなみに、一覧表のデータというのは顧客データでして、名前や住所・生年月日等が入っています。

一番理想的なのは、『EXCEL一覧表のデータ』を『別のシートに作成したテンプレート』にデータを飛ばし、テンプレートに一覧表のデータが反映される。
顧客データは数十人分のデータがありますので、印刷する際にはどのデータを印刷するかしないかを選択できる。
・・・以上が出来れば素晴らしいです。


どなたか、その方法・もしくはヒント的な事を知っている方が居ましたら教えていただけると有難いです。
宜しくお願い致します。

Aベストアンサー

Wordで様式をつくり差し込み印刷がいいと思いますが 

>WORDからの差込印刷も試してみましたが
 差し込み印刷は、エクセルデータをWordの様式に差し込みます。
 参考
  http://www.miyazaki-cci.or.jp/nichinan/pc/case92.html

なお、
>レイアウトや罫線などの設定も細かく出来ないので駄目<
とは具体的にどのようなところが設定できずにダメなのかを提示するといい案を教えていただけるのではないですか

Qエクセル 規定のフォーマットに別シートのデータを繰り返し印刷

エクセルにて繰り返し印刷の方法を質問します。
 環境は、OSはME・エクセルは2000です。

現在、前任者からの引継ぎを行っています。
現在は200社ぐらいのデータを各シート(同じレイアウト)に分割入力しています。これでは入力・管理・印刷等も面倒なので、200社の入力データのみを1ページに入力して、表示や印刷のみは、別シートにする事を考えています。

<考え方>
1)ページA:200件の会社情報をコードにて管理。
必要なデータをそれぞれ入力。
2)ページB:表示や印刷する帳票レイアウト形式のページ。会社コードを入力すると、ページAから検索して、会社名やその他の情報を表示する。

表示は帳票形式のページに、データシートのセルを参照する形で可能です。vlookup関数を使用して、該当コードのそれぞれのデータを表示する・・・という形です。

問題は、この形式で印刷をしたいのです。
マクロ登録も考えましたが、1ページならばわかるのですが、複数会社を一回で印刷する方法がわかりません。

できれば、ページAに印刷指示セルの列を作り、ONになっている会社のみを印刷する・・・・ということが希望です。

マクロでできればよいのですが、繰り返しのまくろがわかりません。”VBAでできる”というのだけは分りますが、VBAについて、全然未経験なもので、実際の記述方法がわかりません。

過去の質問を見ましたが、該当そうなものをみつけられずに、困っています。どうぞよろしくお願いします。

エクセルにて繰り返し印刷の方法を質問します。
 環境は、OSはME・エクセルは2000です。

現在、前任者からの引継ぎを行っています。
現在は200社ぐらいのデータを各シート(同じレイアウト)に分割入力しています。これでは入力・管理・印刷等も面倒なので、200社の入力データのみを1ページに入力して、表示や印刷のみは、別シートにする事を考えています。

<考え方>
1)ページA:200件の会社情報をコードにて管理。
必要なデータをそれぞれ入力。
2)ページB:表示や印刷する帳票レイアウ...続きを読む

Aベストアンサー

私も何度も回答してます。
例データ
Sheet1はデータシート
A1:E5
行番号氏名住所年齢印刷
1大田東京都34p
2山田横浜市36
3上村千葉市15p
4木村静岡市16p

Sheet2は印刷シート
そこに行って
A1に「1」と入力(A1はどこか目立たないところでもよい)
あるいは第1列か第1列を遊び行にしてしまう。
氏名を印刷したいセルに
=VLOOKUP($A$1,Sheet1!$A$1:$C$100,2,FALSE)
住所をセットしたいセルに
=VLOOKUP($A$1,Sheet1!$A$1:$C$100,3,FALSE)
これは判りますね。他の項目も好きなところへ、第3引数だけ変えて
式をセット。
(印刷)
ALTきを押しつつF11,I,Mを順次押すと、標準モジュール画面になる。
そこへ下記をコピペする。
骨子ですが
Sub test01()
Range("A2:J20").PrintOut
End Sub
ーー
これでは今の1ページしか印刷しない。
VBAでA1を変化させる。するとSheet2の中身が変わります。
●これを第2行から最下行まで繰り返し
●F列がブランクで無い行だけを印刷する
に改良すると下記コードになる。
ーー
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
'--
d = sh1.Range("a65536").End(xlUp).Row
For i = 2 To d
If sh1.Cells(i - 1, "E") <> "" Then
sh2.Cells(1, "A") = i - 1
sh2.Range("A2:H20").PrintOut
End If
Next i
End Sub
ーー
これをF5を押して実行する。
このほかにも、ボタンをクリックすると実行する、などの方法があるので、勉強してください。
ーーー
印刷シートのSheet2に関して、書式、行高、列幅、印刷設定についてはVBAでやってません。手動でやってください。VBA熟練者には、型破りですが、そのほうが初心者には判りやすく、すぐ応用(自分で自由にできる)が効くからです。
わざわざ関数VLOOKUPを使うことを残しているのも、そういう見地からです。
自分流にチュニングが必要ですが(sh2.Range("A2:H20").PrintOutの印刷範囲など)推測して、テストしてみてください。

私も何度も回答してます。
例データ
Sheet1はデータシート
A1:E5
行番号氏名住所年齢印刷
1大田東京都34p
2山田横浜市36
3上村千葉市15p
4木村静岡市16p

Sheet2は印刷シート
そこに行って
A1に「1」と入力(A1はどこか目立たないところでもよい)
あるいは第1列か第1列を遊び行にしてしまう。
氏名を印刷したいセルに
=VLOOKUP($A$1,Sheet1!$A$1:$C$100,2,FALSE)
住所をセットしたいセルに
=VLOOKUP($A$1,Sheet1!$A$1:$C$100,3,FALSE)
これは判りますね。他の項目も好...続きを読む

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

QExcelで連続印刷をするマクロ

Excelでデータベース的な使い方をしています。
「データ」シートにたくさんのデータがあり,
「レポート」シートのA1セルに入力した数字に該当するデータをVLOOKUP関数で読み込んでいます。
それを連続印刷するときに,
現在は
For n = 1 To 135
Range("A1").Select
ActiveCell.FormulaR1C1 = n
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next n
End Sub
というマクロで実行させています。
(ちなみにマクロの知識がほとんどなく
「新しいマクロの記録」を利用して作ったため,ほとんど意味は分かっていませんが・・・)

このマクロでも印刷できるのですが,
このままだとデータが 1 ~ 135に固定されてしまいますよね。
実際はデータ数が変動するので,そのたびにマクロの数字を変えています。

そこで考えているのが
新たに「設定」シートを作成して
そこのiとjのセルに数字を入力することで,自動的に
マクロが n = (iに入力した数字) To (jに入力した数字)
となるようにした方が便利だと考えています。

あまりマクロについての知識がないくせに
ほんのちょっとの工夫でできるような気がして・・・
あれこれ試してみたけどできません。
できれば今のマクロを根本的に変えるのではなくて
少しの変更とか追加とかでできるようにしたいのですが可能でしょうか?

ぜひ 教えてください。よろしくお願いします。

Excelでデータベース的な使い方をしています。
「データ」シートにたくさんのデータがあり,
「レポート」シートのA1セルに入力した数字に該当するデータをVLOOKUP関数で読み込んでいます。
それを連続印刷するときに,
現在は
For n = 1 To 135
Range("A1").Select
ActiveCell.FormulaR1C1 = n
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next n
End Sub
というマクロで実行させています。
(ちなみにマクロの知識がほとんどなく
「新しいマクロの記録...続きを読む

Aベストアンサー

>そこのiとjのセルに数字を入力することで,自動的に
>マクロが n = (iに入力した数字) To (jに入力した数字)
セルが、I1とJ1セルのことだとして
For n = 1 To 135

For n= Sheets("設定").Range("I1").Value To Sheets("設定").Range("J1").Value
といった風に記述できます。
>実際はデータ数が変動する
J1セルにはCOUNTA関数などを使用してデータの数を表示させておくと便利かもしれませんね。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Q差し込み印刷で特定のデータだけを印刷したい

エクセルで作成した住所データを使って、
ワードで宛名印刷をしたいのです。
数十件のデータがあるのですが、例えば、会員の方だけ
印刷したい・・・という場合に
エクセルに項目を作ってマークか何かを入れておけば
そのマークが入っているものだけ印刷することは
可能でしょうか?
(筆まめは使ったことがあって、そういう機能があったのは
覚えているのですが、今回はワードとエクセルでしないと
いけないので・・・)
私だけでなく、パソコンに慣れてない他の人にもこれを
やってもらわないといけないので、なるべく簡単な方法が
あれば・・・と思っています。
よろしくお願いします。

Aベストアンサー

下記操作で会員(エクセル側に1をセット)だけラベルが作成されました。(WD2000,EX2000)
エクセルのテストデータとして
(A) (B) (C)
氏名住所会員
山田東京都1
上田埼玉県
下田栃木県1
中田神奈川県
青田千葉県1
「会員M.xls」で保存する。(例)
ワードに変わり
(1)ワードを開く
(2)ツール
(3)差し込み印刷ヘルパー
(4)(メイン文書)宛名ラベル
(5)作業中のフィールド
(6)(データファイル)データファイルを開く
(7)「会員M.xls」
(8)ワークシート全体-OK
(9)(ラベルオプション)KOKUYO2160ラベル(例)-OK
(10)差し込みフィールドの挿入
(11)ドロップダウンから住所、氏名、会員をクリック    しスペースや改行で各項目のラベル内の位置を決   める。
     <<住所>>
          <<氏名>>
                 <<会員>>
(12)クエリ・オプション
(13)ドロップダウンから会員をクリック
(14)演算子は=
(15)値を1と入れる。(1=会員)
(16)OK
(17)<<abc>>をクリック。確認。
東京都        | 栃木県     
   山田      |      下田             1   |        1
---------------------------------------
千葉県   |
   青田 |  
      1    |
となります。

下記操作で会員(エクセル側に1をセット)だけラベルが作成されました。(WD2000,EX2000)
エクセルのテストデータとして
(A) (B) (C)
氏名住所会員
山田東京都1
上田埼玉県
下田栃木県1
中田神奈川県
青田千葉県1
「会員M.xls」で保存する。(例)
ワードに変わり
(1)ワードを開く
(2)ツール
(3)差し込み印刷ヘルパー
(4)(メイン文書)宛名ラベル
(5)作業中のフィールド
(6)(データファイル)データファイルを開く
(7)「会員M.xls」
(8)...続きを読む


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

人気Q&Aランキング