• ベストアンサー

エクセルでのブックの比較と上書き

エクセル初心者です。 よろしくお願いします。 過去のページに似たような方がいらっしゃいましたが、 CSVの使用のところがわかりませんでした。 http://oshiete1.goo.ne.jp/qa731351.html ブック1とブック2のシートの項目は同じで、複数列ある。 その中にキーとなる列がある。 (例:項目番号,項目名称,説明,etc 項目番号がキー) 上記の環境で、 キー項目が同じものがあった場合、上書きする方法を教えてください。

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

  • ベストアンサー
  • assault852
  • ベストアンサー率48% (1364/2797)
回答No.1

VBAなんですね? どうわからないのか、何ができないのか、エラーが出るのか、 などを明確にして頂かないと回答しづらいと思いますよ。

4x4x1x0x
質問者

お礼

了解しました。 改めて、後日質問いたします。 その際はよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで異なるシートのデータを比較したり、コピーしたりしたい

    お世話になっております。 エクセルとはほとんど初対面といった状態で、四苦八苦している状況です。 今やりたいことは、下記のようなことです。 実現方法やアドバイスなど、何でもいいので教えてください。 宜しくお願いします。 シートA,シートBがある。 シートAは今回取込んだデータ。 シートBはこれまで取込んだ累計データ。 2つのシートの項目は同じで、複数列ある。 その中にキーとなる列がある。 (例:項目番号,項目名称,説明,etc 項目番号がキー) (1)まず、シートAのデータを一旦消去し、CSVファイルを読み込む。 (2)次に、シートBの既存のデータとシートAのデータを比較する。  シートAにあってシートBにないデータは追加する。  シートAにあってシートBにもあるデータは上書きする。 (2)の方法が分りません。 シートAにあるデータがシートBにあるのかどうかと言うところはAdvancedFilterと言う関数を使って出来たのですが、追加/上書きと言うところが出来ません。 AdvancedFilter以外にもっと使いやすい関数があるのでしょうか? それとも根本的にもっと違ったやり方があるのでしょうか? ちなみに、別のデータベースを使うとかは不可です。 エクセルでやらないといけない仕様なのです。 宜しくお願いします。

  • 【エクセル】他のBookの、シート名を抽出したい

    ブックA,Bがあって、 ブックAのSheet1に「商品名、シリアル番号、商品サイズ・・・」とい ったような項目の表があります。また、Sheet1の表を基にして、数値の 違う表がSheet30まであります。 ブックBのSheet1のA列にはブックAのデータに対応するシリアル番号が ずらっと並べてあります(抜けてたり、多かったりするかもしれません)。 そこで、隣のB列に、A列に書いてあるシリアル番号をブックAから参照 (検索?)して、同じシリアル番号が入力されたセルのあるシートの、 シート名を表示したいです。おねがいします。 VLOOKUPで対応するシリアル番号のセルを探し出して、そのシートを表 示させるようなことを考えていたのだけど、参照するデータの列が左端 ではないし、検索するシートがたくさんあるし、ぜんぜんわかりませ ん。マクロを使用すれば出来るのでしょうか? エクセル2003を使用しています。 長文になってしまい、わかりにくいかと思いますが回答お願いします。

  • 複数EXCELのセルデータを違うセルに移したい

    昨日、複数のエクセルのファイルを1つのファイルの1枚のシートにするやり方を質問させていただきました。csvファイルでしたのでできなかったことがわかりました。お答えいただいた方本当にありがとうございました。助かりました。教えてgooのやり方がわからずコメントを書けませんでしたのでここに書かせていただきます。 参考:http://okwave.jp/qa/q7735457.html さらに質問なのですがどなたかお願いいたします。 今、一枚のシートに日付ごとに項目が入っているのですが、項目の前の列にそれぞれ日付をつけるやり方があれば教えていただければと思います(下図のようになっています)。できればいらない部分は排除したいです。 図としましては        B列  C列 (数字は行の番号です。)       3      日付       4   いらない部分      5   ※  項目       6   ※   項目       7   日付 のような形になっています。 日付はC列の3行目からランダムに入っています。次の日付までB列の前に先の日付を入れたいです。(4,5の※部分にC3の日付を入れたいです)。あと出来ればいらない部分は消したいです。 または複数のEXCEL(.CSV)ファイルから1つのファイルの1枚のシートにする際にそれを行えたら嬉しいです。 複数のファイルの場合は   B列  C列         (数字は行の番号です。)   3    日付※ 4   いらない部分 5    ※ 項目         :   の形になっていてC列の3行目に日付が入っているのとC列4行目にいらない部分が入っているのはどのファイルも変わりありません。 わかる方がいらっしゃいましたらぜひともよろしくお願いします。また、CSVファイルになっていますのでお願いします。(図がへなへなになってしまって申し訳ありません)

  • EXCELのシート、ブックって何ですか?

    文字列を検索するときに検索場所をシートかブックか選びます。 シートというのはエクセルの画面のことだと思っていたのですが違いますか? ブックって何ですか? シートとどう違うのですか?

  • excelのブックが突然消える?

    excelのブックが突然消えるなんてこと、あるのでしょうか? 上書き保存をしようとしたら その文書自体が存在しないとというエラーメッセージがでました。 確かに検索しても ヒットしません。 上書きしようとした文書と同じ名前で新たにその文書を登録しようとしても できない旨エラーメッセージがでます。 こんなこと初めてです。 とりあえず新しいブックにすべてのシートをコピーして よく似た名前をつけてしのぎましたが、 原因がわかるかた なにとぞおしえてくださいませ。

  • Excelのブックが壊れているようなのですが…

    Excelのブックが壊れているようなのですが… アンケートのデータ入力を在宅でしております。 Versionは2003、OSはWindowsXPです。 以前こういう質問をして http://okwave.jp/qa/q6113613.html No.8 , No.5の方のものを 入力フォーマットに適用して使っています。 ただ、 この関数等を適用してからなのか ブックが破損してしまったのか 30件ほど入力していると急にExcelが閉じてしまい 急いでExcelを立ち上げても その30件分は消えてしまっていました。 で、そんな事を2回も繰り返してしまい、3回も同じアンケートを入力することになってしまいました。 今は10件ごとに上書き保存をして回避しています。 後、毎日進捗報告を先方にメールでするのですが その際に、 アンケート(全54問で、最初の50問は1桁の数値入力。その次が自由記入1問、最後の3問は1桁、1桁、5桁の数値入力) で、50問の部分が文字列として認識されているのですが それでも構いませんができれば数値として認識を…と言われてしまいました。 なので、これから入力する部分は数値に直そうと思うのですが ブックの破損のせいなのか関数を入れたせいなのか 今、Excelの入力フォームはアクティブセルを容易に移動できない状態です。 A列には通し番号で、B列に50桁を入力してEnterを押すと、AY列まで1桁ずつ割り振られ AZ列にアクティブセルが飛び、そこから4項目を入力して、Enterを押すと 今度は次の行のB列に戻り、また50桁という感じなのですが 今はC列からAY列はクリックできなくなっています。 (クリックしてもアクティブセルになる事はありません) 現在クリックできるのはC列~AY列とA列以外です。(なぜかA列もクリックできないんです) 後、普通Excelでは横にA,B,C…縦に1,2,3…ですよね で、そこの部分をクリックすると、AをクリックするとA列全てが選択されますよね? それが縦も横もクリックできないんです。 で、以前質問した際に 数値として入力する場合はこちらの関数を入れてくださいといわれていたものがあるのでそれを入力しようと思っているのですが その関数を入力する列はC列なんです。 B列に50桁を入れて、C列に関数を入れてコピーだったので なので、C列はクリックできなくなっていて関数を入れることが出来ません。 で、http://okwave.jp/qa/q6114778.html この質問をした時に(Excelが勝手に閉じてしまって困っていますと) ブックが壊れているのではないか? 新しいブックにコピーした方が…と言われたのですが クリックできない状態なので、 全体を選択できないのでコピーも出来ません。 セルの書式設定からどうにかならないかとかも考えたのですが 選択できるB列等で右クリックしてもセルの書式設定は黒い文字になっておらず、選択できません。 追記: 今確認したら、入力フォームの最後の列はBC列なのですが その横のBD列以降もクリックできませんでした。

  • エクセル2つのブック列の比較 VBAや関数について

    Aと言うブックとBと言うブックがあるとして、 Aのブックは共有ファイルではなく、Zサーバー上にあるエクセルファイルです。 Aのブックに色々な人が行の挿入、商品名の書き換え等をしていて、いつ挿入されたのかが分からないため、VBAや関数を使って調べたいのですが、 Aのブックは10シートあり、サイズ別で行も並べられているため、新しい情報を特定するのが困難です。 BのブックはAと同じシート名を作り、必要箇所だけコピーしているデータです。(オリジナルブック) やりたいことは、Aのブックから探してBのブックに追加されていない情報、一致していない情報があれば、色を付けてわかりやすくするか、Bのブックの新しいシートに結果を出すようなことがしたいのですが、可能でしょうか? AのブックはA列-IC列まであるのですが、必要な部分は全シートB列(商品コード)とE列(商品名)のみです。 Bのブックには同じシート名にして、A列に商品コード、B列に商品名としております。 AのブックのB列、E列を参照して、BのブックのA列、B列になければ、結果を表示したいです。 もし出来る方法があれば、教えてほしいです。 今はシートごとに左右比較して、見ていってるのですが、10シートの中に、行数は2000行くらいあるため、それで半日おわってしまいます。 もし分かるかた、マクロを組める方がいれば教えて頂きたいです。宜しくお願い致します。

  • Excelマクロで同じブックにCSVを読み込むには

    Excelの指定したシートにCSVファイルを読み込ませたいのですが 以下のVBAマクロを実行すると新しいブックが起動して 新しいブックの方にCSVファイルが読み込まれてしまうのですが これをVBAマクロを実行しているブックの指定のシート(例えばSheet3など)に 読み込ませたいのですがどのように記述すればよいのでしょうか。 よろしくお願いします(Excel2010) Sub Macro1()  ChDir "C:\test"  Workbooks.Open Filename:= "test1.csv" End Sub

  • エクセル2003 マクロのセキュリティを「低」にしても、マクロを無効にしてファイルを開く方法

    http://oshiete1.goo.ne.jp/qa5101957.html で質問したものなのですが、 アクセスでは教えていただいたとおり、Shiftキーを押しながら開くと無効にできるのですが、 エクセルに関しては、Shiftキーを押しても、ブックのオープンイベントが発生します。 エクセルでも場合によっては無効にして開きたい時はどうすればいいでしょう? よろしくお願いします。

  • 上書き時間を短縮する方法はありますか?

    エクセルで開くことの出来る「CSVファイルのシート(マイドキュメントの集計フォルダにある)」に、あるフリーソフトの一部の出力機能を使用して毎回毎回、外付けハードディスク(BUFFALO:HD-H250U2)にある、データ(エクセルワークシートで言いますと約500行・約50列)を上書きさせてるんですが、上書き時間が約60秒かかってしまいますが、この上書き時間をもっと短縮することはできますでしょうか? (このあるフリーソフトには、時間をもっと短縮したり、元データを切り落としたりする設定等は調べましたが装備されていないと思います。) HDの、書き込みキャッシュは、[パフォーマンスのために最適化する(書き込みキャッシュを有効)]にチェックはしてあります。 いろいろと、考えましたが、良い案が見つかりません。 1、「CSVファイルのシート」にマクロ等、または何かの設定で、20列以降を「上書き拒否」することは? 2、60秒を→たとえ、55秒・57秒でもいいので、短縮する方法は? 3、「CSVファイルのシート」をデスクトップ、C:ドライブ、マイドキュメント、など、どこに置けば、   一番時間の短縮につながりますか? 4、「CSVファイルのシート」をその都度、上書き前に空白にしておいてもほとんど変わらないですか? 5、その他の、方法は?。 以上、良い案がございましたらよろしくお願い致します。

専門家に質問してみよう