Office: Geschlossene Excel Datei nach String durchsuchen

Helfe beim Thema Geschlossene Excel Datei nach String durchsuchen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Liebe Excel Experten, ich komme mal wieder mit einem Problem zu euch und hoffe dass ihr mir helfen könnt! *Smilie Es geht darum, dass ich gerne ein... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von humic, 18. Juli 2017.

  1. Geschlossene Excel Datei nach String durchsuchen


    Liebe Excel Experten,

    ich komme mal wieder mit einem Problem zu euch und hoffe dass ihr mir helfen könnt! *Smilie

    Es geht darum, dass ich gerne ein geschlossenes Excel File (das sehr sehr groß ist und daher besser auch geschlossen bleiben sollte) in der Spalte I nach einem String durchsuchen möchte. Danach soll die ganze Zeile direkt unter der Position der Adresse in der sich der gesuchte String befindet in ein geöffnetes Excelfile kopiert werden.

    Ich habe dazu zwar ein paar Beiträge via Google gefunden bin aber leider mit keinem davon wirklich zurecht gekommen =/

    Hoffe sehr jemand kann mir helfen. In jedem Fall vielen Dank im Voraus!

    LG
    humic

    Ps.: Ich arbeite mit Excel 2010

    :)
     
    humic, 18. Juli 2017
    #1
  2. Hallo humic,

    VBA und geschlossene Mappe? Krampf.

    Nimm Formeln.
    Suche den Begriff in Spalte I mit Vergleich(). Du erhältst die Zeilennummer (nennen wir sie x) oder einen #NV-Fehler.
    Nimm Index(), um die Werte der Zeile x+1 auszulesen.

    Die berechneten Werte kannst Du dann als Festwerte irgendwohin kopieren, wenn gewünscht.

    Grüße
    EarlFred
     
    EarlFred, 20. Juli 2017
    #2
  3. Wenn die Datei geschlossen bleiben soll, wirst Du da auch nichts lesen können, egal mit welchem Programm.
     
    Storax, 20. Juli 2017
    #3
  4. Geschlossene Excel Datei nach String durchsuchen

    Vielen Dank euch beiden!

    Dann komme ich um das öffnen wohl nicht herum. In dem Fall wäre es allerdings am besten wenn die Datei nur ein Mal (im Kintergrund wenn das möglich ist?) geöffnet wird um dann gleich alles zu erledigen.
    Wenn ich aber über Vergleich() und Index() arbeite öffnet er die Datei ja mehrmals oder? Insbesondere, da ich ja eine ganze Zeile kopieren möchte müsste ich den Index() Befehl wenn ich das richtig verstehe ja für jede Zelle die ich aus der Zeile haben will wieder eingeben. Kann man also irgendwie das Abfragen nach der Position des Strings und das anschließende Kopieren der Zeile mit einem Öffnen über die Bühne bringen?

    Und vielleicht noch eine Folgefrage: Macht es Sinn (bzw meine Excel Datei schneller/schneller zu öffnen) wenn ich sie als .csv Datei abspeichere?
     
    humic, 20. Juli 2017
    #4
  5. Mit meiner Anmerkung wollte ich "nur" sagen, dass die Datei geöffnet werden muss.
    Sie muss nicht notwendigerweise in Excel geöffnet werden, aber wenn man Daten aus einer Datei lesen will, muss man sie irgendwie öffnen.
    Auch bei Verknüpfungen muss man öffnen, wenn man die aktuellen Werte erhalten will.

    Zu Deinem Problem: Beispieldatei(en) würden weiterhelfen
    Und was soll wie gesucht werden?
     
    Storax, 20. Juli 2017
    #5
  6. Ah nicht in Excel öffnen klingt schon mal gut *Smilie Was wäre denn da eine eine Arbeitsspeicherschohnende alternative? Leider ist File zu groß für den normalen Windows-Editor =/
    Habe jetzt eine stark reduzierte Form des großen Files hochgeladen. Ich möchte nun von außerhalb des hochgeladenen files (kann eine leere Excelmappe sein) zum Beispiel nach dem String "scan=1"" in der Spalte I suchen (habe ich im Beispielfile jetzt gelb gefärbt) und dann die beiden rot gefärbten Zeilen in das leere (geöffnete) Exceltabellenblatt kopieren. Ein anderes Beispiel wäre die Suche nach dem String "scan=2"" und das kopieren der grünen Zeilen.

    Wie gesagt würde ich es jetzt gerne irgendwie so hinbekommen dass die Datei nur einmal (so resourcensparend wie möglich) geöffnet wird, dann alles rauskopiert wird was herauskopiert werden soll (zB die Zeilen die "scan=1"" und "scan=2"" zugeordnet sind) und dann wieder geschlossen wird.

    Ich möchte euch nicht als Codeschreiber gebrauchen aber ich habe gerade echt keinen Plan wie ich da rangehen soll =/ Vielen Dank im Voraus!

    LG
    humic
     
    humic, 20. Juli 2017
    #6
  7. Das ist schon von Dir in Excel importiert, richtig?

    Die Originaldatei kriegst Du wie?
    Als Textdatei? Wie groß ist die? Größer als 2GB??

    Wenn ich das richtig sehe, geht es um Messdaten.
    Ich würde erstmal versuchen, das Problem bei der Erstellung zu lösen.

    Wenn das nicht geht, nimm die Textdatei und "pipe" die durch eine Programm, so dass nur die relevanten Daten für Dich übrig bleiben, meinetwegen mit VBA.
    Frage wäre, dann ob der Offset immer 14 Zeilen ist! Und dann sollte man das "vernünftig" in eine Datenbank importieren können.

    Vielleicht reicht auch schon PowerQuery (ist in Excel 2016 enthalten)

    Oder jmd. anders hier hat bessere Vorschläge.
     
    Storax, 20. Juli 2017
    #7
  8. Geschlossene Excel Datei nach String durchsuchen

    Hallo,

    die Daten auszulesen ist recht einfach, sofern man die Datei z.B. für den user nicht sichbar mit "getObject" öffnet. auch bei einer Größe von vielen 100 MB's ist dies eigentlich kein Problem.

    Oder ist dein Arument "ressourcen-schonend" noch gewichtiger?

    mfg
     
    Fennek11, 20. Juli 2017
    #8
  9. Hallo humic,

    hast Du die von mir vorgeschlagenen Formeln überhaupt mal probiert? Hast Du konkrete Fragen dazu?

    Grüße
    EarlFred
     
    EarlFred, 21. Juli 2017
    #9
  10. \@Storax: Also die Datei bekomme ich als Textdatei mit einer Größe von 1.96 GB. Ich möchte das Mokro dazu dann aber gerne auch auf größere Datein anwenden können.
    Bei der Erstellung der Daten einzugreifen kommt leider nicht in frage weil ich alle gemessenen Daten tatsächlich benötige. Ich kann die Datenfilegröße natürlich etwas reduzieren aber wirklich signifikant nicht wirklich da sich während der Ausführung des Makros erst ergeben wird welchen Teil der Daten ich überhaupt benötige.
    In welcher Form bzw welcher Art von Datenbank sollte ich das File denn am besten abspeichern um effizient (-> resourcenschohnend) darauf zugreifen zu können?

    @Fennek11: Wenn der getObject befehl bei 100 MB gut funktioniert kommt er bei 2 GB wohl eher nicht mehr in frage schätze ich? ^^

    @EarlFred: Ja habe ich ausprobiert. Hat auch funktioniert aber die anzahl an Zellen die ich kopieren möchte ist einfach zu groß um es für jede Zelle einzeln zu machen und dauert daher einfach zu lange (pro Zeile sind es etwa 7000 Zellen)
     
  11. Hallo,

    dass das solche Ausmaße annimmt, war mir nicht klar. Vor allem nicht, dass derart viele Daten rübergeholt werden müssen.

    Ich weiß ja auch nicht, welche Performance Dir letztlich vorschwebt, aber selbst eine 2GB-große Textdatei in den Speicher zu verfrachten und zu analysieren braucht seine Zeit. Vielleicht kann das auch eine Datenbank besser, wobei ich nicht weiß, welche Datenbank 7000 Felder in einer Tabelle verträgt.

    Vielleicht ist der Weg auch anders herum effektiver: Schmeiß die Daten raus, die Du nicht brauchst.

    Ich bin ein wenig ratlos, auch wegen der insgesamt dünnen Infos und der nachgeschobenen Details.

    Grüße
    EarlFred
     
    EarlFred, 21. Juli 2017
    #11
  12. Das wirst Du wohl als erstes machen müssen! Daher meine Frage, ist die Struktur immer so, dass man die relevanten Zeilen identifizieren kann, also
    und 14 Zeilen später
    und dann zwei Zeilen danach
    Wenn das so ist, wäre wie oben angedeutet ein Ansatz die Datei zeilenweise zu lesen und die relevanten Zeilen evtl. schon leicht ransformiert in eine neue zu schreiben.
     
    Storax, 21. Juli 2017
    #12
  13. Geschlossene Excel Datei nach String durchsuchen

    Hallo,

    tut mir Leid, dass ich nicht von Anfang an alle relevanten Infos geliefert habe (bzw wahrscheinlich immer noch nicht habe. MIr ist leider nicht zu 100% klar welche Infos relevant sind, deswegen habe ich Versucht mein Problem nach bestem Wissen und Gewissen so genau wie möglich darzustellen.

    Das mit dem rausschmeißen der Daten ist wie gesagt leider nicht so einfach möglich. Meine Überlegung war, die Datei vom Makro öffnen zu lassen, es dann alles in ein anderes File kopieren zu lassen was für die Auswertung nötig ist (am Besten immer gleich Zeilenweise da jede Zelle einzeln wie gesagt zu langsam ist bei im Endeffekt ein paar 10k Zellen) und das große File dann wieder zu schließen um mit dem File in dem nur die benötigten Daten liegen weiterzuarbeiten. Ich möchte allerdings später vielleicht andere Daten aus dem großen File rausholen und kann es deswegen nicht einfach reduziere.

    Was ich also (gmeiner Vorstellung nach) konkret bräuchte wäre ein Tipp in welcher Form ich das File öffnen soll (also als .csv, .xlsx, .txt, ..) um beim öffnen möglichst wenig Arbeitsspeicher zu brauchen aber trotzdem noch via VBA drauf zugreifen/daraus kopieren zu können...und die die zugehörigen Commands dazu ^^

    Klar was ich meine?
     
  14. Ja diese Strukturen sind immer gültig. Ich könnte mir also ein extra File erstellen indem nur diese Zeilen enthalten sind. Aber dann hätte ich doch noch immer die gleichen Fragestellung oder? Weil der großteil der Information liegt ja in diesen beiden Zeilen bzw die sind der Grund dafür dass die Datei so groß ist.
     
  15. Genau, aber beim Erstellen könntest Du z.B. die neue Zeile so gestalten, dass vorne immer die Information scan=... steht.
    Und dann wäre mein Vorschlag, diese Datei in eine Datenbank zu lesen.
    Dann die Frage
    Was ist damit gemeint? Du hast wirklich 7000 Spalten?
    Da musst Du dich schon entscheiden, was Du brauchst?
     
    Storax, 21. Juli 2017
    #15
Thema:

Geschlossene Excel Datei nach String durchsuchen

Die Seite wird geladen...
  1. Geschlossene Excel Datei nach String durchsuchen - Similar Threads - Geschlossene Excel Datei

  2. geschlossene .xlsm zu .pdf konvertieren

    in Microsoft Excel Hilfe
    geschlossene .xlsm zu .pdf konvertieren: Hallo VBA´ler Ich brauche wieder einmal euer VBA Wissen. Ich habe eine geöffnete xlsm. Anahnd einer VBA Prozedur wird eine andere geschlossene .xlsm vom Ordner A zu Ordner B verschoben und...
  3. Zugriff auf Zellen in geschlossenen Arbeitsmappen

    in Microsoft Excel Hilfe
    Zugriff auf Zellen in geschlossenen Arbeitsmappen: Ich möchte gerne auf Zellen in anderen Arbeitsmappen zugreifen, ohne diese dabei öffnen zu müssen. Vom Prinzip her soll dies analog zur "INDIREKT-Funktion" ablaufen (die leider nur bei geöffneten...
  4. Bestimmte Zellen aus geschlossenen Dateien in eine Master Liste hineinkopieren VBA

    in Microsoft Excel Hilfe
    Bestimmte Zellen aus geschlossenen Dateien in eine Master Liste hineinkopieren VBA: Hallo, ich bin an meiner Thesis dran und möchte Protokolle auswerten. Dazu habe ich Dateien, die Tageswerte enthalten. Ich möchte aus jeder Datei die gleichen Zellen kopieren und in eine...
  5. Excel VBA aus einem Formular Daten in eine geschlossen Arbeitsmappe zu übertragen

    in Microsoft Excel Hilfe
    Excel VBA aus einem Formular Daten in eine geschlossen Arbeitsmappe zu übertragen: Hallo, ich bräuchte mal eure Hilfe Ich habe ein Solaranlage, wo ich jede Woche neu Daten bekomme, die ich in der Arbeitsmappe SolarStrom 2020_01_01 speichere. Die Daten werden in eine Formular...
  6. Wenn Excel Datei geschlossen wird, dann....

    in Microsoft Excel Hilfe
    Wenn Excel Datei geschlossen wird, dann....: Hallo zusammen, ich hänge an einen Problem Fest... Ich würde gerne, Falls eine bestimmte Excel Datei geschlossen wird, eine Msgbox ausgeben lassen. Versucht habe ich es mit dem folgendem Code,...
  7. Word/Excel Formulare mit dynamischen Abruf von Daten aus geschlossenen Excel Dateien

    in Microsoft Excel Hilfe
    Word/Excel Formulare mit dynamischen Abruf von Daten aus geschlossenen Excel Dateien: Hallo zusammen, ich hoffe bei euch ist alles gut. Ich möchte verschiedene gesicherte Formulare in denen lediglich bestimmte Felder/Zellen bearbeitet werden können (Word oder Excel, am liebsten...
  8. Eine Automatische sortierung in andere geschlossenen Tabellen

    in Microsoft Excel Hilfe
    Eine Automatische sortierung in andere geschlossenen Tabellen: Hallo, ich bin neu hier und habe eine frage/bitte.. gibt es eine möglischkeit sich eine excel tabelle zu erstellen in der ich dann datum, artikelnummer und menge eingeben kann und die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden