• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:6人分の物件表を1つのbookに自動的にまとめたい)

6人分の物件表を1つのbookに自動的にまとめる方法

kazuhiko5681の回答

回答No.6

こんばんわ。データの最終列のすぐ隣(J列までデータが入力されていればK列)に文字・記号等を入力した時に、受注管理ブックのシート1のB列より右にデータを反映するようにマクロを修正してみました。前回のように下記のコードを貼り付けて確認してみて下さい。 Private Sub Worksheet_Change(ByVal Target As Range) Dim myWb As Workbook Dim myWbn As String Dim myRow1 As Long Dim myWsn As Worksheet Dim myAdr As String Dim myRow2 As Long myRow1 = Target.Row If Range("K" & myRow1).Value = "" Then Exit Sub For Each myWb In Workbooks If myWb.Name = "受注管理.xls" Then myWbn = myWb.Name: Exit For End If Next myWb If myWbn <> "受注管理.xls" Then Workbooks.Open Filename:="C:\My Documents\受注管理.xls" End If Set myWsn = Workbooks("受注管理.xls").Worksheets(1) myAdr = Range("B" & myRow1).End(xlToRight).Offset(0, -1).Address MsgBox myAdr myRow2 = myWsn.Cells(Rows.Count, 1).End(xlUp).Row Range("B2:" & myAdr).Copy Destination:=myWsn.Range("B" & myRow2 + 1) End Sub 後ご質問にお答えいたします。 貴方様は、どうもモジュールがプログラムを実行させるとお考えになっておられるようですが、プログラムを実行させるのはコードです。コードを書くためのシートのことをモジュールと呼び、モジュールに書かれたコードの集まりがプログラムなのです。 Set myWsn = Workbooks("受注管理.xls").Worksheets(1) setは、変数にオブジェクトを代入する時に使う命令語 このコードは、変数myWsnに受注管理というブックのワークシート1というオブジェクトを代入するという動作をさせるためのコードです。 myRow2 = myWsn.Cells(Rows.Count, 1).End(xlUp).Row Rows.Countはシートの最終行を取得する時に使う。 このコードは、データが入力されている最終行の行番号をmyRow2に代入するという動作をさせるためのコードです。 詳しいことをお知りになりたい時は、次の本を読んでみて下さい。VBAのことが詳しくわかりやすく書かれています。わたしもこの本で勉強してここまでコードを約1年位で書けるようになりました。 簡単プログラミングエクセル2000VBA(基礎編・関数偏・応用編) 著者:大村あつし 出版社:技術評論者 また、解らないことがありましたら、ご遠慮なくお知らせ下さい。

sidneysheldon
質問者

補足

こんばんわ。 修正プログラムを作っていただきありがとうございました。 しかし!!残念ながら、追加したい行だけでなく、1行目からのすべての行が 追加されてしまいました・・・ 何が原因なのでしょうか? ところで、早速、ご推薦されたプログラミングエクセル2000VBA(基礎編・関数偏・応用編) を買おうと思い、本屋さんに行ってみたところ、地元の本屋さんには置いていませんでした。。。。。 明日は大きな本屋さんに行ってみます。 寒くなってきたので、風邪には気をつけてください。 それでは。

関連するQ&A

  • マクロで5個のBOOKのデータをBOOK1に転記

    エクセルマクロで対話型でBOOK2~6の5個のデータを BOOK1のシート1に順番で転記したいです。 BOOK2~BOOK6は作業者にファイルを選択させたいです。 BOOK2~BOOK6は作業の都度行数がBOOKごとに変わります。 (500~5,000行でばらつきます) 流れとしては、 1.BOOK1を開いてマクロを軌道 2.エクセルのファイルを開くウィンドーが出る 3.ファイルを選択させる(例:マイネットワーク内のBOOK2を選択) 4.ウィンドーの開くをクリックする 5.転記1回目   指定したファイルが開いてデータが   BOOK1のシート1に転記される   この1回目は1行目からデータがある最終行まで。   その後BOOK2は閉じられる 6.メッセージボックスで「転記完了」と表示 7.メッセージボックスの「OK」をクリックすると   エクセルのファイルを開くウィンドーが出る 8.ファイルを選択させる(例:マイネットワーク内のBOOK3を選択) 9.ウィンドーの開くをクリックする 10.転記2回目   指定したファイルが開いてデータの中の2行目~最終行までを   BOOK1のシート1の最終行の次の行から転記を行う。   (NO.5のBOOK2が1,000行の場合1,001行目から    BOOK3のデータ2行目以降が転記される)   その後BOOK3は閉じられる 11.この作業を計5回行う   (転記3~5回目も転記するデータは2行目~最終行) 13.メッセージボックスで「5個のBOOKの転記が終了」と表示 14.メッセージボックスの「OK」をクリックすると   Call 編集   でSub 編集 というプロシージャーが起動する Sub 編集は出来上がってます。 (BOOK1のシート1を編集します。) NO.1~NO.14のマクロ記述を教えてください。 自分で作成した記述では全然駄目でした。 よろしくお願いします。

  • エクセルで、別Bookの同じデータを自動的にコピーする

    自分で考え解決できるほどのスキルが無いので、ここをよく利用しています。皆さんよろしくお願いしますm(_ _)m エクセルです。2つのBookがあります。それぞれにデータ(文字)が入っていますが、その一部を自動的にBook2から Book1にコピーしたいのです。 ★☆★ Book1のあるセルのデーター(文字)と同じデータが入っている、Book2のセルと同じ行で別の列にあるデーターを、 Book1のデータと同じ行で別の列にコピーしたい。 ★☆★ このような事が、自動的に出来るんでしょうか? ちなみに、マクロは・・・私には難しいですm(_ _)m

  • マクロで他ブックを開きデータを取得する方法について

    BOOK1は集計表でシートは1枚です。BOOK2はデータ入力シートで50位のシートが含まれています。 BOOK1からマクロでBOOK2を開き、各シートにあるデータをBOOK1(集計表)の所定のセルへ表示させようと考えています。例えば「BOOK2のSheet2のセルC6のデータをBOOK1のセルF8へ、Sheet3のセルC6のデータをBOOK1のセルF12へというように順次50枚のシートに入力した各データをBOOK1の集計表に表示させる予定です。どのようなマクロ構文にしたら良いのでしょうか? ご教授よろしくお願いします。

  • Excelの複数Bookでの転記と行移動処理

    Excel2003を使っています。 質問内容のシナリオは以下です。 1)Book1-Sheet1の行単位データをBook2-Sheet1に転記させる。 2)Book2-Sheet1ではデータの入っていない最終行に1)のデータが入る。 3)2)が終わると自動的に次の行に移動する 4)1)~3)を繰り返す(複数あるため) これの2)と3)のVBAをどちらのBookにどのように記載するのかがよくわかりません。 現在はBook1とBook2をどちらも開き、Book1でマクロをで転記しています。 Book2では転記される行を選択し、 次のデータのために手動で(転記された次の)1行を選択しております。

  • Book間のデータ転記を自動化したい

    Book A からBook Bへ毎日データをコピーしています、これを自動化できないでしょうか? Book A      A    B    C    D 1 会社名1  data11 data12 data13 2 会社名2  data21 data22 data23 3 会社名3  data31 data32 data33 Book B     A    B    C    D 1 日付1  data11 data12 data13 2 日付2  data14 data15 data16 3 日付3  data17 data18 data19 Book A は1日につき1ファイルづつ毎日増えていきます会社数は日によって違いますが大体40~50くらですデータ数は1行につき15個で一定です。 Book B は会社ごとにシートが作ってありBook Bの中に約35シート入っています。 少し説明がわかりにくいかもしれませんが、やりたいことは毎日Book Aというファイルを渡されるのでその中から主な会社35社のデータを会社別に日付順にしたいのでBook Bへ手作業でコピーしています、毎日のことなので結構大変です自動でコピーできないでしょうか? それとも何か別の方法でもっとスマートに処理できますか?

  • 異なるブック間の検索・コピーについて

    お世話になります。今、勤務表を作成しておりますので、お知恵をお借りしたいと思います。 現在、一人ずつのシートに勤務表を作成しております。 Book1のように一人ずつシートに縦に日付があり横にいろいろな種類のデータを入力しています。 ですが、本社で請求をするためのデータとして Book2のような1枚にまとめたデータを作成しなくてはなりません。 そのため、マクロで Book2の23456の番号をBook1のシートのどこにあるのかを選択 発見したシートのデータを随時コピーしていくということを 考えています。 このようなことは可能でしょうか? VBAでできるとしたら、まずはBook2の番号をBook1で検索し、セットするということが 必要だと思うのですが、思いつきません。 アドバイスをお願いいたします。 よろしくお願いいたします。

  • フォルダ内の全てのBookに同じ処理を繰り返す

    フォルダ内にエクセルファイルが約3,000個あります。 この全てのBookに同じ処理をしたいのですが、マクロで繰り返す方法がわからないので教えて下さい。 処理をする内容は簡単なもので、マクロで作りました。 ・ 各Bookには1つのシートしか存在せず、シート名は重要ではないので全て「Sheet1」になっています。 ・ 各Bookのデータの配置や表形式は同じです。 ・ レコードの行数がBookによって異なります。 処理の内容をマクロで作るところまではできましたが、知識がないためタイムアウトです。 ご教示宜しくお願い致します。

  • 一覧表から一行ごとのデータを別ブックに保存するには?

    あまり使用頻度はないかもしれませんが・・・・ (例) ○元になる一覧表のブック(BOOK_1.xls) 1行目:項目  (A1:一連番号 B1:氏名    C1:住所) 2行目:データ1(A2:1     B2:山田太郎 C2:東京都) 3行目:データ2(A3:2     B3:山田次郎  C3:大阪府)    ・    ・ 以降10行目まで同様のデータが入っているとします。 上記のファイルから ○あらかじめ決められた単票形式のブック(FORMAT.xls)  A1:一連番号(文字列) B1:空白  A2:氏名(文字列)   B2:空白  A3:住所(文字列)   B3:空白 を呼び出し ○BOOK_1.xlsの一行目の項目のデータを  FORMAT.xlsの B1 B2 B3 の空白部分にコピーペーストし ○BOOK_1.xlsのA2の一連番号の数字をファイル名として取得  し"1.xls"として新規保存をする。 ○そのあとは10行目までその作業を繰り返し、1.xlsから10.xls  というファイルを10個作成し終了する 以上のようなことが可能でしょうか? 実際は列数は30程度、行数が1500行程度あり、1500ほどの ファイルができるようになるんですけど・・・。 よろしくおねがいします。    

  • 他のExcelアプリケーション上のbookにアクセス

    今、VBAのプログラミングをしています。 そこで、マクロの含まれているExcelアプリケーション上から、別のExcelアプリケーション上のbook(マクロなし)に対して、何らかのアクセス(指定したbookをCloseさせるなど)を行いたいと思っているのですが、可能なのでしょうか。 もし、可能であればその方法を教えていただけると助かります。 宜しくお願い致します。 例.ExlApplication1      →    ExlApplication2 book1(マクロ含む) →    book2(マクロなし)   この状況において、book1のマクロによってbook2を閉じる処理を行  いたい。

  • 10個のブックからの一覧表作成について

    区域別に分けた10のブックに、同一規格で作成したその区域の集計表シートがあり、複数の条件別集計としているため1シートあたり約30万のデータ数となっています。 現状は、ある条件に該当するものがどうであるのか、を見るために各ブックを開いて該当シートの同一行を別シートにメモ的にコピーし10個のデータを並べて比較している、という極めて原始的なやりかたをしています。 ある条件に合致するデータがどうであるのか、を全区域一覧で比較できるものを作成したいのですが、単純計算すると60列、5万行くらいの表ができることになり、どう作業をすすめるべきか思案しております。 イメージとしては、各ブックの2行目が10行並び、次に3行目が10行並び・・・となるのですが、自分のレベルで考えつくのは、各ブックから1行ずつコピーするか、各ブックの該当行を参照する式を入れて10行ずつコピー、参照先を修正、これを延々と繰り返す。完成したら条件別にシートを分割して見やすいものにする。 この程度しかできないのですが、このレベルでも可能な方策があるでしょうか。