• ベストアンサー

エクセルで選択した行の項目だけを別シートの請求書に自働入力したい

是非教えてください。急いでいます。 エクセルで請求書台帳管理をしています。 Sheet1に各行に各ユーザ毎の情報が10項目程度あるのですが、請求書に選択した行のユーザに対して、Sheet2に作ってある請求書フォーマットから請求書を出力したいと思っています。 Sheet1で印刷したい行の左側に○つけた時だけ、各項目の内容をSheet2の請求書フォーマットにデータを自働で移して印刷することは出来ますか? ○でなくてもいいので、とにかく選択した行の情報だけを別シートに自働で移せる方法を教えてください。 とても急いでいるので、どうか宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.6

> マクロ良く分からないのですが、 まずALTとF11そ同時に押してください するとVBE(マクロ編集画面)が開きますので左側のSheet1などと書かれている (○を入力したいシートの名前)でダブルクリックすると 右側に入力できる画面が開きますのでそこに Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 Then Range("A:A").Clear Range("A" & Target.Row).Value = "○" End If End Sub をそのまま貼り付けてください。 既に何かあればそれはそのままにして最終行の下に入れてください。

jyurymicke
質問者

補足

ありがとうございます。出来ました。本当に助かります。ありがとうございます。 何回も申し訳ないのですが、後、2個質問させてもらっていいですか? 一つ目ですが、今回の一連の仕様の中で、○をA列として他の列がB~T列まで有るのですが、その内のF~J列はどれか一つしか選択できないようにするにはどうすればいいですか?うまく書けないのですが、例えばF列目に◎を選択したら、残りのG~J列には何も出ない様にしたいです。当然台帳ですので印刷したい行以外の行も同じようにしたいです。 二つ目ですが、これは一つ目の質問に絡むのですが、○で印刷行を選択した後、F列目の◎が付いたところをSheet2の請求書印刷に教えていただいたVLOOKUPでデータを移した後、◎が出ないG~J列の分に「0」が出てしまわない様にするにはどうすればいいですか? 何回も申し訳ありませんが、お願いします。

その他の回答 (5)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.5

> ちなみに○を重複させないように、今回印刷したい行に○を付けたら、他の行 > の○は消してしまうということは出来ますか? > 前に印刷した時の行の○を消し忘れたときに対応できるようにしたいのですが? > また○をプルダウンで出したいのですが、どの様にすればいいですか? 該当するシートのマクロに以下のコードを記載してください。 A列のセルを選択すると選択したセルに○が表示されます 列を変更したい場合 Target.Column = 1の1を列数にあわせて変更してください。 Range("A:A").ClearのA:Aを列にあわせて変更してください。 Range("A" & Target.Row).Value = "○"の"A"を列にあわせて変更してください。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 Then Range("A:A").Clear Range("A" & Target.Row).Value = "○" End If End Sub

jyurymicke
質問者

お礼

ありがとうございます。 早速試してみます。 また質問するかもしれません。 お願いします。 とりあえずお礼まで

jyurymicke
質問者

補足

すみません。 マクロ良く分からないのですが、 マクロ開くと、以下が行がすでにあるのですが、 ここから Sub Macro1() ' ' Macro1 Macro ' Application.Goto Reference:="Macro1" End Sub ここまでがすでにあります。 上記を編集して Sub Macro1() Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 Then Range("A:A").Clear Range("A" & Target.Row).Value = "○" End If End Sub とすればいいと思うのですが、これで実行するとEnd Subがあるのに 「End Subが必要です」のエラーが出るのですが、どの様にするのが正しいですか?

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.4

マクロで行うのが一番の方法だと思いますが できないのであれば シート1に請求情報が一行一件づつある。 シート2に印刷する請求書の様式がある。 という条件でしたら シート1に顧客コードみたいなのがあればそのキーでソートしておく シート2のシート1から転記するセルに顧客コードをキーとするVlookup 関数でシート1から抽出したデータを表示するようにする。 シート2に対象の顧客コードを入力しては印刷するというのはどうでしょう。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

マクロならば可能ですがそうでない場合にはワードで請求書を作りワードの差し込み印刷を利用して対応するのがよいでしょう。 いずれにしろ自動で印刷となりますとマクロで対応することになりますね。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

シート範囲を選択して○の列にオートフィルタを掛けて、抽出したデータを丸ごとコピーし、任意のシートに貼り付けます。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm

jyurymicke
質問者

お礼

ありがとうございます。 内容確認してみます。 色々あるんですね。試してみます。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

どのセルにデータが入っているのか分かりませんが たとえばSheet1のA1からC7までデータがあるとした場合 Sheet2のデータを取り出したいセルに =VLOOKUP("○",Sheet1!$A$1:$C$7,2,FALSE) とすれば○の付いた行のデータが取り出せます。 上記の場合はA列に○を入力しB列のデータを取り出しています。 2を3にすればC列のデータが取り出せます。

jyurymicke
質問者

お礼

ありがとうございました。 早速試してみます。 ちなみに○を重複させないように、今回印刷したい行に○を付けたら、他の行の○は消してしまうということは出来ますか? 前に印刷した時の行の○を消し忘れたときに対応できるようにしたいのですが? また○をプルダウンで出したいのですが、どの様にすればいいですか?

関連するQ&A

  • エクセルVBAで、行削除⇒別シートに自動入力をしたい

    いつもお世話になります。よろしくご指導お願いします。 VBA初心者です。最近随分皆様に助けていただいています。尚、業務の関係でお助けください。 エクセルで名簿形式のデータベースシートがあります。 (山田太郎 ○○市○○町 911-1234 ・・・) 例えば、この山田さんが解約したり死亡されたりすると「行削除」をします。そのとき、別シート(シート名「解約者台帳」)に自動的に削除した行の全データをもっていきたいのです。 ★解約者台帳のフィールドは、元シートと基本的に同じですが、A~AG列のデータが必要。AH列以降のデータは不要です。 解約者台帳に追加していく(新しい行=何も入力されていない行への自動入力)等のVBAのイメージを含めて、私の力ではやはりさっぱりです。どうかまたまたお助けください。お待ちしています。

  • Excelで別シートへ自動入力

    はじめまして。 excelについてお聞きしたいのですが 現在、excelで作った発注書に 発注先と品物、入り数と発注数を入力して 印刷して各メーカーへFAXしています。 その際に、会社の意向で注文履歴を手書きでノートにつけているのですが、 注文数が多い場合、非常に時間が掛かってしまいます。 そこで発注書へ入力中に 入力項目を自動で抽出して、 別シートの注文履歴フォーマットへ自動入力される、 という事は出来るのでしょうか? 注文履歴フォーマットは 入力項目を自動で改行して 蓄積されるようオートフィルタを使ってみましたが 蓄積、改行がされず上手くいきません。 良い方法はありませんでしょうか?

  • エクセルで指定行を別シートに表示させる

    エクセルで書類(A4)を自動作成させたいと考えています。 今までは原紙となるシートを用意しておき、コピーして利用していましたが、シートを分けてしまうと検索が面倒なのでやり方を変更しようと考えています。 希望する形態は、 ・データを入力するためのシートを用意し、1行にすべての表示内容を入力する。 ・出力用の原紙となるシートに、内容を出力する場所を指定しておく。 ・表示させる行を指定すると、内容が反映され、印刷などができる。 といったものです。 しかし、どの行のデータを出力するかを指定する方法がわかりません。 ご教授いただきますよう、お願いいたします。

  • Excelで行が挿入したときに、自動的に別シートにも挿入したい

    お世話になります。 例えばシート1の11行目に行が挿入された場合、 シート2の11行目にも自動的に行が追加されるような マクロを作りたいのですが、どうも検索で情報が 見つかりませんでした。 ご存知のかたがおられましたら、よろしく お願いいたします。

  • Excelマクロ・行の高さを自動調整したい

    データベースから抽出したExcelの人材情報リストから、VLOOKUP関数で情報を射影して、指定した人材を数人分連続で印刷するマクロを設定して、定型のプロフィールシートを作成しました。  改良したい点として、人によって情報量が異なる項目があるので、特定の行(例えば5行目)の高さのみを自動調整するようにしたいのですが、どのようにすればよいでしょうか。  VLOOKUP関数を使用しているからか、書式から行の自動調整を設定してみても1行の高さになってしまいます。  マクロで一度に印刷できるようにしたので、一枚一枚レイアウトを修正しなくてもいいようにしたいです。  VBA初心者ですので、宜しくお願いします。

  • EXCELで切り取った行を別シートに挿入

    EXCELである行を選択して切り取り、同一シート内の任意の場所に挿入すると 元の行は自動的に削除されます。 しかし、別シートに挿入した時は、元の行は削除されず、わざわざ その行を削除する、という操作が必要となります。 そこで質問なのですが、別シートへの挿入を一つの操作で行う方法はないでしょうか? また、その方法がない場合、それはEXCELの何らかの仕様を反映しているのだと 思いますが、それはどのようなものでしょうか? よろしくお願いします。

  • Excelでのエントリーシートの入力

    企業から、Excelで予めフォーマットが作成されたエントリーシートが送られてきて、それに入力して送り返すことになっています。 そのエントリーシートの入力欄に、該当するものを○で囲む項目があるのですが、丸の囲み方がうまくいきません。図形描画を使ったんですが、丸で囲むと文字自体が下に重なって見えなくなってしまうのです。 どうすれば、該当項目をうまく丸で囲むことができるでしょうか? 初歩的質問ですが、よろしくお願いします。

  • エクセルで特定の項目の行を別のシートに表示したいのですがどうすればいい

    エクセルで特定の項目の行を別のシートに表示したいのですがどうすればいいでしょうか。 うまく説明できないのですが Sheet1に    A         B       C      D あらま せつこ セラピスト 北海道  090-ooo-000 おねむ なおこ 占い師   宮城県  090-ooo-000 あくび りん  相談員   岡山県 090-ooo-000 せかい  ひろこ セラピスト 長野県  090-ooo-000 おあち つるみ 占い師   高知県  090-ooo-000 かふん いやみ  相談員   宮城県 090-ooo-000 というデータのシートがありますが、 Sheet2に占い師だけの    A         B       C      D おねむ なおこ 占い師   宮城県  090-ooo-000 おあち つるみ 占い師   高知県  090-ooo-000 という行まるまるの表示ができないでしょうか? Sheet1にデータがたくさんあり、列をソートして コピーしていたのですが、今後もSheet1にデータが増えていくので Sheet1に入力するだけでSheet2に選択された項目の行がそのまま入るように できないかと悩んでいます。 都合よすぎでしょうか?

  • エクセルでデータを別シートに5行ずつ入力する方法

    エクセルでデーターシートから、別シートに5行づつ転記(集計)する方法を教えてください。 実は、データを請求書(伝票)に転記し連続印刷するため、あるサイトを参考にしようとしましたが、5行ずつ集計された状態からのマクロの紹介でした。マクロはあまり詳しくありませんが、長年の懸案であります、伝票印刷の夢を叶えてください。宜しくお願いします。 参考HP http://www.moug.net/skillup/adpc/ay014-1.htm

  • Excel 抽出したデータで別シート自動作成

    Excelで、条件で抽出したデータを、自動で別シート作成およびデータ出力したい 外部サイトで恐縮ですが、 こちら → http://oshiete1.nifty.com/qa6295795.html   の内容が似ているとは思いますが、 シートの自動作成まで含めるとどうなるのでしょうか 添付画像のように、 sheet1に(画像ではすでに入力済みですが)、たとえば 地区 列に「え」と入力すると 【え】というシートが自動作成の上、地区え の行が出力される 次に「え」と入力すると同シートの次の行に出力される 【い】というシートも同様です。 このようにするにはどうすればいいのでしょうか? 事情により急いでいます。何卒よろしくお願いいたします。

専門家に質問してみよう