• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2つの表を統合するVBAマクロについて)

2つの表を統合するVBAマクロについて

april21の回答

  • april21
  • ベストアンサー率42% (91/216)
回答No.3

>データが多い場合はマクロなどの自動処理の方が時間が短縮できるのですね。 表計算では自動計算をしてしまうため操作する度に10000件分の処理をしてしまう 為、重くなってしまいます。 (自動計算させない設定にしておいてデータを処理する時だけ実行する方法もあります) マクロだと実行させる処理(ボタンを押すとか特定のイベントを起こした時)を した時しか動作してない。 それと繰り返し実行するフロー制御ステートメントがVBAにあるのでコードを 簡略化することが出来るので軽くなります。 今回を例にVBAにするなら 1~10000件のデータに対して同じ処理を繰り返して実行しているだけなので 今回使った関数をVBAの関数にして繰り返し実行するステートメン(For...Nextなど)を使って実行すれば良いだけですね。 (^^)/~~~

関連するQ&A

  • 2つの表を統合するVBAマクロについて(2)

    「2つの表を統合するVBAマクロについて」での質問を補足いたしますのでどうかお力をお貸しください。 前回の質問で例にあげたsheet1の表とsheet2の表を統合してsheet3に統合表を作りたいのですが、どのように統合したいのかといいますと、 (1)それぞれの表のA列をキーに、sheet1にもsheet2にもあるデータは新たに統合する表に採用します。前回の例でいうと、sony1,2,5,7ですね。この両者共通のものは新たに統合する表には、sheet2の方のデータを採用します。(複数ある場合は全て採用します。) (2)次にsheet1にしかないデータは統合する表に採用します。前回の例ではsony003が該当します。 (3)最後にsheet2の方にしかないデータは統合する表には採用しません。無視します。 この(1)から(3)を実行して下記のようは統合表を作成したいのです。 (sheet3 統合表)   A   B   C    D sony001 男  東京 Japan ←(sheet2のデータ) sony002 女  埼玉 Japan ←(sheet2のデータ) sony002 女  千葉 U S A ←(sheet2のデータ) sony003 女  千葉 U S A ←(sheet1のデータ) sony005 女  東京 Russia ←(sheet2のデータ) sony007 男  東京 U S A ←(sheet2のデータ) sony007 女  東京 Russia ←(sheet2のデータ) そしてできれば採用されなかった(無視されたデータ)をsheet4にリストアップしたいのです。 (sheet4 無視されたデータ) sony004 男  大阪 Canada sony006 女  東京 Russia このような処理を自動的にできるVBAマクロがわかる方がいらっしゃいましたら、どうかご教授くださいませ。データが大量なので手動ではとても時間がかかってしまい困っております。どうかお力をお貸しください。よろしくお願いいたします。

  • エクセルで2つのリストを統合するには?

    エクセルの別々のシートにある2つのリストを統合したいのですが、過去の質問などを見てもうまくいきません。具体的には 【表1】 番号 氏名 住所 A 佐藤 東京 B 高橋 神奈川 C 渡辺 埼玉 D 田中 千葉 E 小林 山梨 【表2】 番号 氏名 年齢 B 高橋 22 D 田中 45 という2つの表で、これを 番号 氏名 住所 年齢 A 佐藤 東京 B 高橋 神奈川 22 C 渡辺 埼玉 D 田中 千葉 45 E 小林 山梨 のようにまとめたいのです。 「データの統合」を使ってみましたがうまくいきませんでした。よろしくお願いします。

  • 表の統合

    エクセルで表を作るときの簡単な方法を探しています。 今、下のようなデータ1とデータ2があります。(ほんとうはたくさんあるのですが、省略させていただきます) そのデータを統合してtotalというデータを作る場合、どのような方法があるでしょうか。 D1   D2 名前 出身 頻度 名前 出身 頻度 山田 東京 3 山田 東京 2 伊藤 埼玉 1 山田 埼玉 1 梅田 大分 2 伊藤 埼玉 2      total 名前 出身  D1 D2 山田 東京 3 2 伊藤 埼玉 1 2 梅田 大分 2 0 山田 埼玉 0 1

  • EXCLEのマクロ 2つのシートを統合する方法

    下記のことを行いたいのです。 教えていただけないでしょうか。 下記2つのシートをA列をキーにして sheet1のあ、b、c列のデータに sheet2のc、d列を 統合して、sheet1のdれつ e列に統合して5列のデータを作りたい a列とb列のデータは基本同じですが、スペースが入っていたり 違う場合もある。B列はsheet1のデータを採用 sheet2は不要 ・sheet1 a列 b列 C列 123 ああ 123456 456 いい 125456 789 うう 12344556 1234 ええ 12345678 4567 おお 123456456 8945 かか 1234567844 ------------------- ・sheet2 a列 B列 C列 D列 123 ああ 03-5212-0000 東京都○ 456 いい 06-5212-0000 大阪府○ 789 うう 044-5212-0000 神奈川県○ 1234 ええ 045-512-0000 横浜市○ 4567 おお 043-212-0000 埼玉県○ 8945 かか 03-5212-0000 東京都○

  • ある列のリアルタイム数値を3分毎に列をずらしながら記録するEXCELマクロを作りたい

    EXECL2002 SP3を使っています。 B2からB99まで数式が入力されています。 この数式の結果はリアルタイムで変わります。 このリアルタイムデータを、 記録するマクロを作成したいと考えています。 9時1分から20時1分まで3分毎にデータを取得し、 C列、D列、E列、と列をずらしながら記録していきます。 以下のようなイメージになります。 ☆数式の状態     A   B 1        =now 2    東京  =tokyo.temperature 3    千葉  =kanagawa.temperature 4    埼玉  =saitama.temperature ☆9時1分のシートの状態     A   B   C 1        9:01  9:01 2    東京  11.5  11.5 3    千葉  11.9  11.9 4    埼玉  10.8  10.8 ☆9時4分のシートの状態     A   B   C   D 1        9:04  9:01  9:04 2    東京  11.6  11.5  11.6 3    千葉  12.1  11.9  12.1 4    埼玉  11.0  10.8  11.0 ☆9時7分のシートの状態     A   B   C   D   E 1        9:07  9:01  9:04  9:07 2    東京  11.8  11.5  11.6  11.8 3    千葉  12.4  11.9  12.1  12.4 4    埼玉  11.1  10.8  11.0  11.1 上記の作業を実現できるマクロを 教えていただけませんでしょうか。 よろしくお願いいたします。

  • Accessでこんな表(データ)つくれますか?

    府県名 学校名 学年 性別  -------------------------- 東京  〇〇〇  6  男 埼玉  ×××  2  女 埼玉  ▲▲▲  1  女 千葉  □□□  3  男 神奈川 ◎◎   1  男 上記データを基に、下記のような表を作成したいです。 行→府県名、学校名 列→学年、性別 データ→性別のカウント 今まで、Excelのピボットテーブルをりようしていましたが Accessで作表できないものでしょうか?

  • エクセルの立ち上げ時とマクロ実行時の再計算について

    なぜ同じ形式のファイルで同じようなことをマクロで実行させているだけなのに 一つだけ立ち上げ時と再計算時に時間がかかるか教えてください。 各フォルダ(東京・神奈川・千葉・埼玉)にアクセスからエクスポートしたExcelファイル(A・B・C・D)と、それを集計する合計.xlsがあります。 合計.xlsのマクロボタンを押下することによって A・B・C・Dが立ち上がり、それぞれが合計.xlsのsheet2~5に貼りつき、A・B・C・Dを閉じます。 合計.xlsのSheet1にはマクロボタンとSheet2~5を集計するための表があり、Sheet2~5からvlookupで数値を引っ張ってきています。 ●各フォルダに入ってるファイルは同じ形です。 ●フォルダ(東京・神奈川・千葉)は立ち上げもマクロ実行時も数秒で計算が完了します。 フォルダ(埼玉)だけは立ち上げ時に3分以上かかり、どこかクリックする度に再計算(これも3分以上)されてしまいます。 3分位待ってればいいのですが、なぜ(埼玉)の合計.xlsだけがそうなってしまうのか、わかる方がいらっしゃれば教えてください。 マクロ作成時、確認をしたときは他と同じでした。 今日他の人が合計.xlsを何度か強制終了したとのことですが、これが原因になったりしますか? ちなみに他フォルダ(東京)からファイルをコピーしマクロ&関数を修正してみましたがダメでした。 フォルダ(埼玉)に問題があったりするのでしょうか?

  • EXCELのVBAで困っています。

    うまくかけないので、イメージを下に書かせていただきます、。  |  A  |  B  | ---------------------- 1 | 東京   150 2 | 埼玉   150 3 | 千葉   150 4 | 群馬   120 5 | 東京   120 6 | 静岡   110   ↓  |  A  |  B  | ------------------------  | 東京 1 | 埼玉   150  | 千葉 ------------------------ 2 | 群馬   120  | 東京 ------------------------ 3 | 静岡   110 上記のような処理をVBAで行いたいのですが、どのように 書いたらよいかを、教えてください。お願いします。

  • Excel 2007 マクロ 表の貼り付け

    Excel 2007 マクロ 表の貼り付け Excel 2007 マクロ 表の貼り付けについて教えてください。 <Sheet1>の表にあるA2からD4を <Sheet2>に値貼り付けをします。 表は画像を添付します。 マクロの記録では下記内容になります。 Sub Macro1() ' ' Macro1 Macro ' ' Range("A2:D4").Select Selection.Copy Sheets("Sheet2").Select Range("A2:D4").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub <Sheet1>のA列の行の増減にかかわらず、<Sheet2>に貼り付けることができるように するにはどのようにマクロを修正すればよろしいでしょうか。

  • Excelで統合の機能を使いたい

    Excelで統合の機能を使ってデータを集計したいのです。 例えば、Aさんの売上表をsheet1に作成します。 売上表は、項目やセル位置に若干の違いはあるものの、 似たような作りの表なので、 Aさんのシートを元にして、シートコピーを行い、 コピーしたシートに、Bさんの売上表、Cさんの売上表を作成しました。 そして、集計するためのシートにて、統合を選択しました。 集計方法を「合計」、 統合元範囲をそれぞれ「Aさんのシートにある表範囲」 「Bさんのシートにある表範囲」「Cさんのシートにある表範囲」を追加し、 統合の基準で「上端行」「左端列」にチェックを入れ、OKを押しました。 しかしその結果、合計行が2つでてしまい、正しく集計が行えませんでした。 どこか、やり方が間違っているのでしょうか? 試しに、シートコピーを行わないで各シートごとに表を1から作成し、 統合を実行したところ、ちゃんと合計行も1つで、正しい集計結果が得られました。 もしかして、統合の時には、表をコピーしてはいけないのでしょうか? 以前にも、1から表を作った場合と、シートコピーをした場合とで、 集計結果に、「項目の並び順の違い」がでたことはあったのですが、 そのときは並び順だけが違い、集計結果はあっていたので、 特に気にしていませんでした。 なぜ、こういう結果になってしまうのか、 どなたか、ご存知の方いらっしゃいましたら、 アドバイスいただけたらと思います。 よろしくお願いします。