シート1 にリスト形式でデータを入力しています。日時、相手先、品目、数量、金額、これを何件も入力します。
シート2 に印刷用のレイアウトを作成、左上に相手先、右上に日付が入り中央に品目、数量、金額が並びます。(規定の印刷された用紙(品目、数量、金額が6行入ります)に数字等を当てはめたいので)
シート1 のリストはずらずら続きますが、印刷はその都度していきたいので、 シート1 から印刷用の シート2 に先頭行の指定はどのようにしたらいいですか?

A 回答 (2件)

シート1は『Sheet1』とし、Sheet1の1行目は表題が設定してあるものとします


シート2を印刷するには頁指定が必要と思いますので、シート2のどこかのセルに頁を入力します。
そのセルに『ページ』の名前を付けます。

印刷用のレイアウトが、相手先単位または日付単位か考慮する必要があるのか不明ですが、6行とも相手先、日付を書くなら下記のようにすればいいでしょう。(相手先別または日付別に印刷するなら、データを相手先や日付で絞り込んだりして区分けする必要があると思われます)

シート2の先頭行には、
  相手先 =OFFSET(Sheet1!A1,(ページ-1)*6+1,1)
  品目  =OFFSET(Sheet1!A1,(ページ-1)*6+1,2)
  数量  =OFFSET(Sheet1!A1,(ページ-1)*6+1,3)
  金額  =OFFSET(Sheet1!A1,(ページ-1)*6+1,4)
  日付  =OFFSET(Sheet1!A1,(ページ-1)*6+1,0)

最終ページで最終データを超えて指定してしまうので、セルの書式設定を

 セルの書式→表示形式→ユーザー設定 で下記のようにすればデータを越して指定しても表示されません。『;;』でマイナスとゼロを非表示にしています。
  相手先 G/標準;;
  品目  G/標準;;
  数量  #,###;;
  金額  #,###;;
  日付  ge.m.d;;

ご参考に。(Excel2000です)
    • good
    • 0
この回答へのお礼

あっというまに回答をいただきありがとうございました。超初心者でまだ理解ができませんが、もう一度トライします。

お礼日時:2002/02/15 18:03

こんにちは



 シート2で入力規則のリストを使われてはいかがでしょうか?

【エクセル技道場】-入力規則-名前定義で、[リスト]で他のシートの範囲を利用
http://www2.odn.ne.jp/excel/waza/validation.html …

参考URL:http://www2.odn.ne.jp/excel/waza/validation.html …
    • good
    • 0
この回答へのお礼

感謝します。読めば読むほどわからなくなってしまい、今気持ちを落ち着け再挑戦します。努力が足らないと反省します。

お礼日時:2002/02/16 00:37

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

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

QEXCEL 一つのシートのリストを変えたら他のシートのリストも自動的に変えたい。

集計表をシートで日付ごとに1日~31日まで作りたいと思います。
1日のシートを基本とし、そのシートにはリストから選ぶ行が3つあります。
1日のシート内のリストを変えた場合、他のシートの同じリストも自動的に変わるようにしたいのですが、どのように設定すればよいか、教えてください。
1日のシートを作った後にコピーをしてシートを作ろうと思っています。
お願いいたします。

Aベストアンサー

リストは別のシートに作っておいて、それぞれのリストに名前を
付けておきます。
リストの欄には =リストの名前 と入力します。
名前を付けたリストは他のシートでも使えますので、お望みの様
にできると思います。また、可変のリストにもできますので、参
考URLをよくご覧になって下さい。

参考URL:http://www2.odn.ne.jp/excel/waza/name.html#SEC18

Qエクセルのリストから同エクセル内の別シートに差込印刷をしたいです

添付しております画像の差込リストシート(全部で150件位あります)から報告書シートの該当のセルへ差し込み印刷をしたいのですが、色々検索してみますがいまいちつかめません。
印刷枚数ですが提出用と控えがあるため同じ物を必ず2枚ずつ印刷します
2枚印刷して次のリスト→2枚印刷して次のリスト・・・というふうに自動印刷をかけたいです。

エクセルでそれぞれでシートを作成しても150以上のシートをずっと印刷するのは非効率と思い一度に印刷できるVBAを教えて頂けませんでしょうかm(_ _)m

現在は毎月手書きにてやっておりますのでかなり時間を要している状態にあります。

Aベストアンサー

続けてお邪魔します。

>用紙が正副と続きになっておりまして・・・
そういう理由があったのですね。
それではもう一度コードを載せてみます。
Sheet2とSheet3のレイアウトは同じ配置だとします。
今回も標準モジュールです。

Sub Sample2()
Dim i As Long, wS2 As Worksheet, wS3 As Worksheet
Set wS2 = Worksheets("Sheet2")
Set wS3 = Worksheets("Sheet3")
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
'▼Sheet2の処理//
wS2.Range("B1") = .Cells(i, "A")
wS2.Range("C4") = .Cells(i, "B")
wS2.Range("I4") = .Cells(i, "C")
'▼Sheet3の処理//
wS3.Range("B1") = .Cells(i, "A")
wS3.Range("C4") = .Cells(i, "B")
wS3.Range("I4") = .Cells(i, "C")
'▼両Sheetを印刷//
wS2.PrintOut
wS3.PrintOut
Next i
End With
End Sub

※ 粛々と順番にやっているだけです。m(_ _)m

続けてお邪魔します。

>用紙が正副と続きになっておりまして・・・
そういう理由があったのですね。
それではもう一度コードを載せてみます。
Sheet2とSheet3のレイアウトは同じ配置だとします。
今回も標準モジュールです。

Sub Sample2()
Dim i As Long, wS2 As Worksheet, wS3 As Worksheet
Set wS2 = Worksheets("Sheet2")
Set wS3 = Worksheets("Sheet3")
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
'▼Sheet2の処理//
...続きを読む

Qマクロで複数条件に一致した対象を別シートの表に当てはめる

ExcelVBAの質問です。
Sheet1に次のデータがある時、班が1で役員IDが空白ならSheet2のすでに作られている表のA4に抽出して貼り付ける。さらに班が2で役員IDが空白ならSheet2のB4に貼り付ける事を~F4まで繰り返しやりたいのですが

Sub test()
Dim i, k As Long
Dim ws As Worksheet
Set ws = Worksheets(2)
k = 4
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 3) = "1" And Cells(i, 5) = "" Then
k = k + 1
ws.Cells(k, 1) = Cells(i, 4)
End If
If Cells(i, 3) = "2" And Cells(i, 5) = "" Then
k = k + 1
ws.Cells(k, 2) = Cells(i, 4)

End If
Next i
End Sub
と書くとSheet2の表のA4のデータが終わったところからBのデータが貼り付きます。
どこを直せばよろしいのでしょうか?色々調べましたが解らず質問させて頂きました。
宜しくお願いします。

ExcelVBAの質問です。
Sheet1に次のデータがある時、班が1で役員IDが空白ならSheet2のすでに作られている表のA4に抽出して貼り付ける。さらに班が2で役員IDが空白ならSheet2のB4に貼り付ける事を~F4まで繰り返しやりたいのですが

Sub test()
Dim i, k As Long
Dim ws As Worksheet
Set ws = Worksheets(2)
k = 4
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 3) = "1" And Cells(i, 5) = "" Then
k = k + 1
ws.Cells(k, 1) = Cells(i, 4)
End If
If Cells(i, 3) = ...続きを読む

Aベストアンサー

張り付け先の行を指す変数kが、一つしかないのが原因です。
この変数は、班の数だけ必要なので、とりあえず、変数jを
追加して、j(1班用)、k(2汎用)としてみました。

Sub test()
Dim i As Long, j As Long, k As Long
Dim ws As Worksheet
Set ws = Worksheets(2)
j = 4
k = 4
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 3) = "1" And Cells(i, 5) = "" Then
j = j + 1
ws.Cells(j, 1) = Cells(i, 4)
End If
If Cells(i, 3) = "2" And Cells(i, 5) = "" Then
k = k + 1
ws.Cells(k, 2) = Cells(i, 4)
End If
Next i
End Sub

Qマクロで複数条件に一致した対象を別シートに当てはめる。

ExcelVBAの質問です。
Sheet1に次のデータがある時、班が1で役員IDが空白ならSheet2のすでに作られている表のA4に抽出して貼り付ける。さらに班が2で役員IDが空白ならSheet2のB4に貼り付ける事を~F4まで繰り返し表に当てはめるで
ママチャリ様からのご指摘でちゃんと出来ました。が同じA列の15行目に貼り付けるにはどうしたらよろしいでしょうか?すみませんが教えて頂けますか?たびたびすみません。宜しくお願いします。
Sub test()
Dim i As Long, j As Long, k As Long
Dim ws As Worksheet
Set ws = Worksheets(2)
j = 4
k = 4
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 3) = "1" And Cells(i, 5) = "" Then
j = j + 1
ws.Cells(j, 1) = Cells(i, 4)
End If
If Cells(i, 3) = "2" And Cells(i, 5) = "" Then
k = k + 1
ws.Cells(k, 2) = Cells(i, 4)
End If
Next i
End Sub

ExcelVBAの質問です。
Sheet1に次のデータがある時、班が1で役員IDが空白ならSheet2のすでに作られている表のA4に抽出して貼り付ける。さらに班が2で役員IDが空白ならSheet2のB4に貼り付ける事を~F4まで繰り返し表に当てはめるで
ママチャリ様からのご指摘でちゃんと出来ました。が同じA列の15行目に貼り付けるにはどうしたらよろしいでしょうか?すみませんが教えて頂けますか?たびたびすみません。宜しくお願いします。
Sub test()
Dim i As Long, j As Long, k As Long
Dim ws As Worksheet
Set ws...続きを読む

Aベストアンサー

J=4ですが、+1してから代入しているので、正確にはA列5行目ですね。

ご質問に書かれているコードを拡張するならば、10班用の変数、および、
判定等のIF文を追加することになると思います。とりあえず、10班用の
変数Lを追加したコードを下記に書いてみました。
しかし…10班もあるのですね?もしかして、もっと多いのでしょうか?
このままだと班の数だけ変数やIF文を追加しなければならないので、
冗長なプログラムになってしまいますね~

同じような変数(今回の場合はJ,K,Lなど)をたくさん使う時は、配列に
すると便利ですよ。頑張って勉強してみてください。

Sub test()
Dim i As Long, j As Long, k As Long, L As Long
Dim ws As Worksheet
Set ws = Worksheets(2)
j = 4
k = 4
L = 14
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 3) = "1" And Cells(i, 5) = "" Then
j = j + 1
ws.Cells(j, 1) = Cells(i, 4)
End If
If Cells(i, 3) = "2" And Cells(i, 5) = "" Then
k = k + 1
ws.Cells(k, 2) = Cells(i, 4)
End If
If Cells(i, 3) = "10" And Cells(i, 5) = "" Then
L = L + 1
ws.Cells(L, 1) = Cells(i, 4)
End If
Next i
End Sub

J=4ですが、+1してから代入しているので、正確にはA列5行目ですね。

ご質問に書かれているコードを拡張するならば、10班用の変数、および、
判定等のIF文を追加することになると思います。とりあえず、10班用の
変数Lを追加したコードを下記に書いてみました。
しかし…10班もあるのですね?もしかして、もっと多いのでしょうか?
このままだと班の数だけ変数やIF文を追加しなければならないので、
冗長なプログラムになってしまいますね~

同じような変数(今回の場合はJ,K,Lなど)をたくさん使う時は、配列に...続きを読む

Qエクセルで、顧客別の注文商品リストかから、自動的に別シートの商品別の注文顧客リストを作成したい 具

エクセルで、顧客別の注文商品リストかから、自動的に別シートの商品別の注文顧客リストを作成したい

具体的には、
【シート1】
山田 キャベツ リンゴ
鈴木 ネギ 白菜
石井 リンゴ

↓ 商品名を入力したら、

【シート2】
白菜 鈴木
リンゴ 山田 石井
キャベツ 山田
人参
ネギ 鈴木

このように各商品の列に注文者名が自動記載されるようにしたい。

こんなことが可能でしょうか?
よろしくお願いします。

Aベストアンサー

す、すみません m(_ _)m
=IF(COUNTIF($B$1:$C$3,$E1)<COLUMN(A1),"",INDEX($A$1:$A$3,SMALL(IF($E1=$B$1:$C$3,ROW($A$1:$A$3)),COLUMN(A1))))
[Ctrl]+[Shft] +[Enter] で確定、配列数式。{ }で挟まれる
です。ROWとCOLUMNを間違ってました


人気Q&Aランキング

おすすめ情報