• 締切済み

テンプレートで入力したデータの一括保存について

エクセルに強くない事務の人に、テンプレート方式でデータ入力してもらおうと目下工事中です(例えば納品書など)。そして、ここで入力したデータを、1件1行の総括表・一覧表に転記して管理したいのですが、テンプレートのデータを書き換えても総括表のデータを残しておくにはどうしたらいいか教えてください。『コピー→形式を選択して貼付け→値』を、関数等で実行できればいいのですが・・・

  • goo62
  • お礼率91% (195/214)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

(1)関数式はデータを受ける=持ってくる側に書きます。 (2)そして持ってくるのは「値」だけです。 (1)の点で1件目のデータを総括表に持って来るのは、難しいことはない(=Sheet1!A3など)のですが、つぎを入力した時、受け入れ先を(総括表の方の)1行をずらさないと、直前の情報が消えてしまいます。実はこれが関数式ではできません。VBAでならCells(i,j)のiの値を変化させることにより簡単に出来ます。関数式とVBAの役割分担だと思います。

goo62
質問者

お礼

お答えありがとうございました。やはり関数だけでは無理ですか。『何列から何列まで連続して空いている行を探して、その行を返せ』という関数と、『このセルの内容または値を、指定するセルへ移せ』という関数が欲しいといつも思っています。

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.1

マクロの記録で一連の動作がワンクリックで出来ます。 で、このマクロをテンプレートの入力が終わったときに必ず実行してもらうようにすれば良いのでは?

goo62
質問者

お礼

お答えありがとうございました。やはりマクロ頼りですかね。実はこの方法は以前やったことがあります。ボタンをポン!でデータが1行追加されたときは、やった!と思わずガッツポーズでした。みんな同じ苦労と工夫をしてるんですね。

関連するQ&A

  • 同じブック内で別シートへ抽出データを自動入力させたい

    エクセルについて教えてください。 案件情報を1件ずつ1行でまとめた案件一覧表を作成しました。ある列には県名も入力してあります。その総括一覧表と同じブック内に、県別のシートを作成したいと考えています。総括一覧表に入力することで、自動的に「香川」「徳島」「愛媛」「高知」の各シートにデータが入力されるようなブックを作りたいのですが、どうすればいいのでしょう?関数についての知識がほとんどない初心者で困っています。できるだけ簡単な方法をお教えいただけるとうれしいです。どうぞよろしくお願いします。

  • EXCELの「住所一覧表」のデータを個人カードに転記する方法

    xp、OFFICE2003です。教えてください。 EXCELのシート1上に1行1レコードのリストを作り、「住所録一覧表」としました。次に、シート2の上に「個人カード」というカード形式の表を作りました。この個人カードに、「一覧表」のデータを転記するようにしたいのです。この際、「一覧表」で選択した人のデータ行を転記したいのです。ちょうど、「筆まめ」の「住所録」から個人名の「宛名面」を表示するような感じです。よろしくお願いします。

  • Exelのファイルのデータを軽くする方法をおしえてください。

    仕事上で使用しているExcelの2つのシート間で、関数式を含む行または列をコピーし、形式を指定して貼り付けで値のみを選んで、転記しているのですが、転記されたExcelのファイルが作業をするごとにデータのボリュームがかなりふえて行く一方です。余分な部分はその都度確認して関数式を含まないように気をつけているのですが、とにかくデータが重たくなり、動作が鈍くて仕事になりません。余分なデータは削除もしているのですが、数字的には少なくなりません。 古いファイルなどはゴミのようなものがたまるとも聞いていて、7月のはじめに新しくファイルを作り直したばかりです。シートを見ないと分からないかもしれませんが、どなたかアドバイスをいただけないでしょうか?よろしくおねがいします。

  • エクセルで繰り返しデータ入力

    エクセル初心者です。 Sheet1のH列2から20行に毎日複数のデータ入力があり、その入力データはSheet2に日付順で1日から31日までの行を割り当て、転記される設定は可能でしょうか。翌日は又Sheet1のH列2から20行に毎日複数のデータ入力しこの繰り返しです。

  • EXCEL 同一データ入力したいです教えて下さい。

    A1セルに入力したデータをB1にも入力できるようにしたいです教えて下さい、コピー貼り付けを使わず関数を使って出来るようにしたいです。お願いします

  • VBAに詳しい方に質問です。

    VBAに詳しい方に質問です。 私はVBA初心者です、お力添えのほどよろしくお願いいたします。 エクセルで入力し、それを一覧表に転記し、最終的に出力フォームにデータを呼び出し印刷するプログラムを作成しています。 1つの項目のデータを表に転記したり、呼び出すVBAはなんとか作成できました。 しかし、複数のセルのデータを表に転記するVBAが作ることができません。 ☆シート1 入力フォームがあり、 氏名・電話番号・住所等の項目を100人ほど表で入力します。 それらをシート2へ転記します。    1     2      3    4…   1  日付    名前    年齢   電話番号 2 2010/07/01 石川花子   12才  090-×× 3 4  ↓以下100名ほど入力 5  ※列も行も数値で表すように設定してあります。 ・ ・ ・ ☆シート2 これまでに入力したデータをすべて一覧表にします。 シート1のデータはこれまでに入力されたデータの下に転記されます。    1     2     3   4… 1 日付    名前    年齢  電話番号 902010/06/28 山田太郎  33才 090-×× 912010/07/01 石川花子   12才  090-××   92  ↑このように日付欄に空白を見つけ、そこからデータを転記する。 93 ・ ・ ・ 私が考えたVBAは、 sub 転記マクロ() set 入力 = worksheet("シート1") set 一覧 = worksheet("シート2") 日付1=入力.cells(2,1) 名前1=入力.cells(2,2) 年齢1=入力.cells(2,3) 電話1=入力.cells(2,4) 日付2=入力.cells(3,1) 名前2=入力.cells(3,2) 年齢2=入力.cells(3,3) 電話2=入力.cells(3,4) '以下○○100まで ※一覧.(縦,2)に縦+1をしていき""の場所を探す。 (すみません、データを会社に置いてきたので表記の仕方を忘れてしまいました^^;) 一覧.(縦,1)=日付1 一覧.(縦,2)=名前1 一覧.(縦,3)=年齢1 一覧.(縦,4)=電話1 一覧.(縦+1,1)=日付2 一覧.(縦+1,2)=名前2 一覧.(縦+1,3)=年齢2 一覧.(縦+1,4)=電話2 '以下+100まで end sub 何も見ずに思い出しながら書いたので、もしかしたらどこか間違っているかもしれませんが、 このような感じで書いていきました。 さすがにこのようなことを100回繰り返すのは大変なので、for next関数でなんとかならないか試行錯誤したのですがなかなか解明できず困っています。 詳しい方、どうか教えてください。

  • エクセルのVBAについて

    ご教授下さい。 勤怠管理表を作成しています。 個人データを入力するシートがあり、出来上がったものの中から必要な事項のみを別シートの一覧表へ転記をしたいのですが、方法がわかりません。 どなたかご教授ください。 1.転記したい事項は下記の通りです。 (1)氏名 (2)出勤 (3)公休 (4)休み (5)合計 (6)給料 2.6項目をシート名(全体)に表形式で転記 3.社員番号等はなくランダムに入力するため、一覧表へは転記のみされればOKです。 よろしくお願いします。

  • エクセルでデータを蓄積するVBA

    蔵書管理用の一覧表です。 エクセルでデータ入力用のフォームは作ることができたのですがシートに転記するVBAをどのように書けばよいのか分かりません。 データは次々に増えていきます。 A列には番号を入力せずに自動的に番号が増えていくようにしたい。 3番まで入力済みのあとは、自動で「4」と番号が付与されて、下の行に転記されるようにしたい。 VBA初心者です。よろしくお願いします。 A    B      C          D 番号 分類     図書名      冊数 1   文庫本    日本の歴史   3 2   週刊誌    新潮        1 3   月刊誌    月刊ゴルフ    1

  • 関数で一括処理できますか?

    表1のデータをまとめ1、2にまとめ直したいと思います。 まとめ2は同じ縦方向なので値貼り付けで簡単にできるのですが、 まとめ1は原料ごとにまとめ直すのですが、 これを関数で一気に行うことはできないでしょうか? この位の量なら手入力でいいんですが。

  • INDIRECT、MATCH関数等の組み合わせ方

    入力フォームとして作成したシート(あああ)のデータを、シート(一覧表)に、計算式で自動的に並べる方法(参照する方法)を教えてください。(画像を添付しました。) 入力フォームは、実際は150枚ぐらいになります。一覧表も実際は数枚あります。 画像の「あああ」が入力フォーム、「一覧表」が一覧表です。 あああ、AAA、111、アアアなどは、すべて項目名です。 DATA1からDATA32、DATA100-103が、実際にデータが入る部分です。 例えばですが、入力フォーム(あああ)のセルC6に入力したDATA1が、一覧表のセルC3に入るように、C3に計算式を入れたいです。 1.シート名を計算式にいれるには、INDIRECT関数が使えるかと思います。 2.複数の条件(A列、B列、1行、2行)でセルを特定する関数がわかりません。 3.1.と2.を組み合わせると、同様な関数になるのか、わかりません。 DATAについては、ゼロはゼロ、無記入は無記入のまま一覧表に表示したいです。 よろしくお願いします。

専門家に質問してみよう