Excel-Datein vergleichen + Gleiches exportieren

Hallo HaBo, ich stehe vor folgendem Problem: habe mehrere Excel-Sheets (zb. a.xls, b.xls, c.xls) , die ich mit einer Referenzdatei (nennen wir sie: suchbegriffe.xls) vergleichen muss. Nun möchte ich übereinstimmenden Einträge (der suchbegriffe.xls mit a.xls, b.xls, c.xls) in eine neue Datei (ergebnis.xls) schreiben. Diese soll temp. neu erstellt werden, bevor der Datenvergleich läuft.

Wie gesagt, nur übereinstimmende Daten aus der Referenzdatei, sollen als Ergebnis in die neue Datei exportiert werden. Ist das mit Excel möglich?
 
Ich denk mal des müsste mit VBA gehn.
Nur versteh ich dich leider noch nicht so ganz. Könntest du evtl mal so ne Datei hier posten?
 
Ok, zum Veranschaulichen hier ein Beispiel. Datei ist die Referenzdatei mit zb. folgendem Inhalt. (Diese Datei ist statisch, wird manuell erstellt und danach nicht mehr geändert):

Code:
bmw
audi
mazda
vw
hyundai

jetzt habe ich weitere Dateien mit folgendem Inhalt. (diese ändern sich täglich!)

Code:
trabant
lada
volkswagen
audi
skoda
vw
...

..und so weiter. Die Dateien sind oft mehrere tausend Zeilen gross und ändern sich wie gesagt täglich. Jetzt möchte ich einfach alle Übereinstimmungen (in diesem Fall 'audi' und 'vw'). automatisch in eine separate Datei schreiben lassen. soweit ok? ;-)
 
Ja des ist möglich und nicht sonderlich schwer.
Werd mich heut abend mal kurz hinsetzen und dannach schauen wenn ich dazu komme!
 
Hi,

mir war langweilig und somit habe ich jetzt ein Progrämmchen geschrieben. Leider hab ich es nur unter Linux kompiliert. Jedoch sollte es ohne Probleme unter Windows laufen. Hab nur die STD verwendet.

Code:
#include <fstream>
#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main( int argc, char *argv[])
{
  if( argc != 4)
  {
    cout << "usage: " << argv[0] 
         << " <compare_file> <daily_file> <output_file>" << endl;
    exit(1);
  }

  ifstream library(argv[1]);
  ifstream daily(argv[2]);
  ofstream output(argv[3], ios::out | ios::trunc);

  vector<string> lib_vector;
  vector<string> out_vector;
  string line;
  

  library >> line;

  // lese alle Zeile aus der library und füge sie einem Vektor hinzu
  while(!library.eof())
  {
    lib_vector.push_back(line);
    library >> line;
  }

  // Vergleiche alle Zeilen miteinander und füge die selben Zeilen in
  // neuem Vektor ein.
  daily >> line;
  while(!daily.eof())
  {
    for( unsigned int index = 0; index < lib_vector.size(); ++index)
      if( lib_vector[index] == line)
        out_vector.push_back(line);
    daily >> line;
  }

  // schreibe den Vektor in einem File
  for( unsigned int index = 0; index < out_vector.size(); ++index)
    output << out_vector[index] << endl;

  return 0;
}

Erklärung:

1 Parameter ist der Namen der Refenrenzdatei
2 Parameter ist der Namen der täglichen Datei
3 Parameter ist der Namen des Outputfiles

Hoffe es war verständlich

mfg ecologys
 
Zurück
Oben