別ファイルのシートへのデータ入力方法

このQ&Aのポイント
  • 別ファイルのシートにデータを入力する方法を教えてください。
  • 月次支払の表にある数字を別のファイルのシートの該当セルに自動的に入力したいです。
  • VBAを使用してシートを名前で検索し、選択し、データを自動的に転記する方法を教えてください。
回答を見る
  • ベストアンサー

別ファイルのシートを選択して、データを入れ込むには(訂正)?

先ほどNo.1384941の質問をした者です。 ちょっと言葉足らずでしたので、訂正させて頂きます。      |支給額|税引後 | ______|______|_______| 東京 太郎 |12000 |10800 ______|____|_______ このような月次支払の表があった場合、この数字を、別の源泉徴収関係のファイルにある「東京太郎」のシートの該当セルに自動的に入るようにしたいのです。 VBAでシートを 「名前で検索し」 「選択し」 「自動的に入力データを転記する」という方法なのですが。 (普通にデータ転記でしたら、リンクだけでいけると思うのですが、手間を省くため、 シートの検索まで行わせたいのです) ご教授頂けませんでしょうか。

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

  • ベストアンサー
  • rio_d
  • ベストアンサー率47% (71/149)
回答No.2

こんにちは。 Book間のやりとりは、どのように実現しようしているのかにもよりますので割愛しますが、シートの検索は下記のようにやればよいかと思います。 【注意】 ・ 下記サンプルは全角スペースでインデントしているためコピペできません。 ・ For Eachの中の「ThisWorkbook」は貼付先のブックに変更してください。 Sub さんぷる()  Dim oSheet As Object  For Each oSheet In ThisWorkbook.Sheets   If oSheet.Name = "東京太郎" Then    oSheet.Cells(■, ■) = ◆金額◆    Exit Sub   End If  Next oSheet  MsgBox ("名前が一致しませんでした") End Sub

ogrlism
質問者

お礼

ありがとうございます。 Sheetの名前をactive sheet でやろうかと思っているので、自分でも本を読んで勉強します。

ogrlism
質問者

補足

あれから本を読んでみたのですが、どうにも分かりませんでしたので、お助け頂けないでしょうか。 表の関係は以下の通りです。それぞれの項目を、仮に(A-a)(A表のaという項目)というように表記します。 【支払内訳表】(仮にA表) A4に氏名(A-a) B4に日額(A-b) C4に勤務日数(A-c) D4に税引き前支給額(A-d) E4に税額(A-e) F4に交通費(A-f) G4に税引き後支給額(A-g) A2に支払件名(cf.例えば営業課など)(A-h-a) e2に何月分かの情報(A-h-e) を入れています。 【支払額個人管理表】(仮にB表) A列に税引き前支給額(B-d) B列に税額(B-e) C列に税引き後支給額(B-g) D列に交通費(B-f) E列に支払内容(B-h) を入れています。 この二つにおいて、A表を開いたときに、 1)(A-a)の文字列で、B表の該当のシートを検索(シートに支払対象者の名前をつけています) 2)(A-d)を(B-d)に転記 3)(A-e)を(B-e)に転記 4)(A-f)を(B-f)に転記 5)(A-g)を(B-g)に転記 6)(A-h-a)と(A-h-e)の文字列を統合して、(B-h)に入れる。 (ただし、(A-h-a)と(A-h-e)の間には、半角スペースを設ける) という作業をさせたいのです。また、A表はいくつもあるのですが、B表は一つだけですので、データが入っている行の下にA表のデータが自動的に入るように設定したいのです。(End(xlUp).でも使うのでしょうか) 複雑で申しわけございません。 ご教授頂けましたら幸いです。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

#2 のrio_d さんへ >・下記サンプルは全角スペースでインデントしているためコピペできません。 やってみれば分かりますが、VBAは出来ます。全角スペースが入るとできないのは、VBscript です。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

     |支給額|税引後 | ______|______|_______| 東京 太郎 |12000 |10800 ______|____|_______ こういう表示されても、列も行の位置も分からないし、転記先のレイアウトも分からないで、VBAのコードを作ってください、というのは、無理ではないでしょうか? 氏名欄の名前が、元ブックと転記先ブックで、1対1になっているなら、転記先のブックに、式でリンクを付けてしまえば、開かなくても取り出せるのではありませんか?

関連するQ&A

  • 〔EXCEL VBA〕で「第1のシート」のデータを「第2のシート」に転

    〔EXCEL VBA〕で「第1のシート」のデータを「第2のシート」に転記する方法 EXCEL2003でデータが480行/65列ある第1のシート(データベース的)があります。 第1のシートの列にデータが入力されている場合のみ、第2シートの指定されたセルに検索した列の 表題と検索したデータを結合して転記したいのですが良い方法が分りません。 その際、各行毎に検索し空白列は第2のシ-トに転記せず左詰めにして転記したいのですが・・・・ 初心者に合せたご教示をお願いします。 また、Excel VBAの短期マスター法が御座いましたら合せて教示願います。 以上、宜しくお願い致します。

  • 入力したデータをその都度別のシートに蓄積したい。

    お世話になります。 分不相応なのですが、教えてください。 売上や支払に関する明細を作るためにエクセルを使っています。 『シート1』 罫線を引いて実際の明細仕立てにして、  社名   品名1・数量1・金額1・・・   品名2・数量2・金額2・・・          合計金額 計算式も入れて、品番と数量が入ると 金額を算出するようにしています。 『シート2』 1行目には、社名・品名などの項目名を入れました。 1つの取引先に付き、1行分で シート1で入力したデータを転記したいと思います。 理想としては、シート1で1明細の入力が完了 →コマンドボタン(登録)を押す →シート2の2行目にデータが転記 これを繰り返してシート2の3行目、4行目と データを蓄積していく・・・感じです。 マクロの記録で、入力した内容を消去するボタンを作ったり 1行目だけ内容を転記させてみたり(そこで終了・・) 色々なキーワードで、それらしきサイトを検索してみたり、 初心者でも分かるマクロ&VBAみたいな本で調べてみたり・・ ちょっと行き詰ってきたので質問させて頂きました。 ユーザーフォームを作ってシートに転記する方法は見つけましたが シート1には計算式を結構盛り込んでしまったので、 フォームには手が届きそうにありません。 説明不足かもしれませんが、何か良いアイデアはないでしょうか。 マクロで解決できるのか、やっぱりVBAでやるしかないのか、 また何か良いサイトをご存知でしたらご紹介ください。 よろしくお願い致します。

  • VBAを使ってセルを検索後別シートのデータを自動入力したいです。

    見ていただきありがとうございます。 エクセルの2000VBAを使って次のようなことを考えています。 シート2に以下のようなデータがあります。 2006/7/20 コード 数量  100  200   200  400 データの数は日によって違います。 シート1には以下の表があります。横軸にはコード縦軸には日付が入っており各対応するセルに数量が入っています。       100  200  300  400 ....←コード 2006/7/1  20  40  100  800 2006/7/2  50  60  200  500   .   .   . 2007/6/30  このような場合、シート2にコマンドボタンを設けて押したときシート2の日付とコード番号によりシート1の表の検索を行って対応するセルにシート2のデータを転記したいのです。シート2のデータは本日分のデータが入った時点でシート1への転記を行います。(1日一回です) また、シート1の表は2007/6/30(これ以降は必要ないので)までの日付がすでに入力されており明日以降のデータの入るセルは空白になっております。 よろしくお願いします。

  • エクセルで複数のシートのデータをまとめるには

    エクセルで、book内にsheetが同じフォーム(検査成績書のように)で複数存在している 状態で、データが書かれているものを、同じbook内に新にsheetを作成して、 一覧表のようにして転記したいのですが、簡単にする方法はないでしょうか? 1個1個セルに転記するように番地を入力するのはわかるのですが、すごい手間が かかるので、もっと簡単に転記する方法はないでしょうか?

  • 質問:VBAでデータを転記したい

    ExcelのVBAで給与支払管理表と源泉徴収表作成用のとりまとめシートを作っております。で、この2表の間でデータをやりとりしたいのです。 表の関係は以下の通りです。それぞれの項目を、仮に(A-a)(A表のaという項目)というように表記します。 【支払内訳表】(仮にA表) A4に氏名(A-a) B4に日額(A-b) C4に勤務日数(A-c) D4に税引き前支給額(A-d) E4に税額(A-e) F4に交通費(A-f) G4に税引き後支給額(A-g) A2に支払件名(cf.例えば営業課など)(A-h-a) e2に何月分かの情報(A-h-e) を入れています。 【支払額個人管理表】(仮にB表) A列に税引き前支給額(B-d) B列に税額(B-e) C列に税引き後支給額(B-g) D列に交通費(B-f) E列に支払内容(B-h) を入れています。 この二つにおいて、A表を開いたときに、 1)(A-a)の文字列で、B表の該当のシートを検索(シートに支払対象者の名前をつけています) 2)(A-d)を(B-d)に転記 3)(A-e)を(B-e)に転記 4)(A-f)を(B-f)に転記 5)(A-g)を(B-g)に転記 6)(A-h-a)と(A-h-e)の文字列を統合して、(B-h)に入れる。 (ただし、(A-h-a)と(A-h-e)の間には、半角スペースを設ける) という作業をさせたいのです。また、A表はいくつもあるのですが、B表は一つだけですので、データが入っている行の下にA表のデータが自動的に入るように設定したいのです。(End(xlUp).でも使うのでしょうか) 複雑で申しわけございません。 ご教授頂けましたら幸いです。

  • ExcelのVBAを利用して、別ファイルと別シート内の特定の情報を1つのシートにまとめたい考えています

    VBA暦2日の者です。 自分自身でも何をどのように質問すれば、回答者にとって分かり易い質問となるのかも分からずですが、ご回答をいただければ幸いです。 【前提事項】 ■使用するExcelファイル 総括表.xls(元データを1つのシートに集計したものです) 管理表.xls(各元データの管理を行い、ステータスを示すものです) 元データ.xls(元データは規則的なIDを付し90ファイルくらいあります) 【実現したいこと】 管理表の元データのステータスが完了(所定の項目が全て埋まった状態)となったとき、自動的に元データの特定の項目(特定のセルの値) が、総括表内の元データの特定のセルに転記させる。 なお、管理表は各元データを行ごとに管理しており、各元データごとにステータスが異なるため、全元データを一括で転記させるのではなく、各元データごとに転記させたいと考えています。 何から質問をすれば回答への最短経路になるか分からず、分かりにくい文章かと思いますが、何卒よろしくお願いいたします。

  • 抽出したデータを別のシートに転記する方法

    親データ(700行程度)を収納したシートからある属性のデータを抽出し、別シートに転記する方法として、以下のようにしています。まず親データからオートフィルターを使用してある属性データを抽出します。表示されたデータをコピーして別のシートに貼り付け、属性ごとのデータシートを作成していますが、親データシートに変更を加えたとき、別シートにその変更内容が反映されるようにしたいのです。実は自治会の会員のデータ管理をしていますが、人の移動が頻繁なので、会費徴収などの定期的な事務作業については、それぞれのシートに変更した部分を手作業で修正入力していますが、親データとの整合性が取れずに、データの訂正もれや重複などがあり、手続きに不備がでてしまっています。 具体的な作業としては、まず親データシート(会員台帳)の基本データの最新化をします。その結果が自動的に分割した別シート1、シート2のデータに反映されることが不可欠。この分割したデータシートは案内書や請求書などワードで作成した文書の差し込み印刷データに使用していますので、それぞれ別々のブックとして属性ごと、たとえば1区、2区などの名前を付けて保存しています。解決策としてエクセルのオートフィルタや関数を使ってできればいいと思っています。マクロはまだ未経験で少しかじりかけていますが、すぐには使いこなせないので、何とか簡便なほうほうが望ましいのです。また自治会役員は年度ごとに交代するので、あまり専門的なこった内容にしたくないのです(前任者が作ったものを利用していますが、不備や差し込みデータとしての利用ができず、基本データのみを利用して再度整理しなおしているところです)。初歩的な質問で恐縮ですが、よろしくお願いします。

  • 既存シートにデータ追加したい

    ■マスターシート 日付 商品 個数 付加データ ↓ (項目列ごとに下記追加されていきます) (付加データだけは月末に一括手入力) ↓ ■納品書TMPシート ■日付名シート納品書(印刷用) --------------------------- 現在、マスターシートから、納品書TMPシートを使い、 同ブック内に日付名シートの納品書(付加データ除く)をVBAで作成しています つまり、付加データだけが入力されてない納品書が日付名シートで作成されます 月末の処理都合上、マスターシートへ付加データ一括入力して 既に作成されている各日付名シートに追加転記させたいのです マスターデータの項目日付と日付名シートが一致の場合、 その日付の付加データを抽出し、該当の納品書へ転記する 関数VLOOKUPなどで、各納品書に表示はできるのですが、 都合上月初にマスターデータをクリアしなければならず、 そうした場合、表示エラーになるので、転記データを残す方法を VBAで考えています。 For文などで固定日付でのシート抽出は何とか出来るのですが、 さらにマスターシートの日付も動くので?入れ子?ループ?悩んでいます どなたか助けて下さい

  • VBA別シートの同じ日付に値を転記したいのですが

    元データに日付・名前・開始時間・終了時間が入力されていて、人数が150人ほどいます。画像のように元データから別シートの同じ日付に開始時間と終了時間を個人別に転記したいのですが、どうすればいいか悩んでいます。 元データから転記したいデータが1つであれば下記URLを参考にできたのですが、転記したいデータが3つあり、Aさんの4/1~4/30までのあとにBさんの4/1~4/30まで…のように転記したいと思っています。 大変伝わりにくい文章で申し訳ないうえの、VBA初心者のためコピペできる形でお答えいただけると大変助かります。 どなたかご教授いただけないでしょうか…よろしくお願い致します。 参考URL:https://kirinote.com/excelvba-sheet-samedate/

  • マクロを利用して別ファイルにデータを書き込むには

    見積書の商品を発注したときに、その情報を別ブックで管理したいと思っています。 見積書の発注用シートとは別のシートに管理データを蓄積しながら転記できるマクロは組めたのですが、使い勝手が悪いため全く別のブックに管理データを蓄積したいと思います。 見積書データは保存をするときは、その都度異なるファイル名で保存し、管理データはc:\管理¥集計.xlsで保存します。 途中まで作ってみたのですが、アクティブシートとブックが途中でこんがらがってしまって行き詰っています。 サンプルデータを添付いたしますので、ご教示願えませんでしょうか。 マクロとVBAについては初心者なので大変申し訳ありませんが、よろしくお願い申し上げます。

専門家に質問してみよう