Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  Bestimmte Felder bei unbekannten Dateinamen auflisten
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
Philipp82110
Newbie
Newbie


Anmeldedatum: 09.07.2007
Beiträge: 5

BeitragVerfasst am: 09.07.2007, 16:56 Nach oben

Problem:

Ich habe einen Ordner, in dem eine unbekannte Anzahl von Excel-Dateien mit unbekannten Dateinamen abgelegt werden. Aufgebaut sind die Dateien aber alle gleich (Gleiche Benennung Worksheets, selber Sheet-Aufbau).

Gibt es eine Funktion / eine Möglichkeit, mit der ich dann von allen
Dateien z.b. von Sheet 1 das Feld A2 (in jeder Datei eine Zahl) aufaddieren kann. Egal ob da nun nur 1 Datei oder 15 liegen, und wie diese heissen.

Danke für die Hilfe
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5520

BeitragVerfasst am: 09.07.2007, 20:39 Nach oben

Hallo!

Das klingt ein wenig so, als kämst du an eine Theaterkasse und bittest um eine unbestimmte Anzahl von Karten für ein Stück, dessen Namen du nicht kennst. Aber eines weißt du: Du willst in der Mitte sitzen! Image

Aber Spaß beiseite...

Das müsste tatsächlich möglich sein!
Ich habe (mit VBA-Anfänger-Kenntnissen und hier und da mal luschern...) diesen Code zusammen gebastelt:
Code:
Sub MappenAddieren()
'ALLES WAS IN IN GÄNSEFÜSSCHEN STEHT, MUSST DU
'AUF DEINE UMSTÄNDE ANPASSEN!!!!!!!
Dim Mappe As String
Dim Summe As Double
Dim i As Integer
'HIER FOLGT DAS VERZEICHNIS DER ZU ADDIERENDEN DATEIEN
Const Pfad = "E:\Test\Test\"
With Application.FileSearch
.NewSearch
.LookIn = Pfad
.Filename = "*.xl*"
.Execute
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Mappe = .FoundFiles(i)
Workbooks.Open Mappe
'JETZT DEN NAMEN DES ZU DURCHSUCHENDEN BLATTS UND DER ZELLE ANGEBEN
Summe = Summe + ActiveWorkbook.Sheets("NameDesSuchblatts").Range("A2").Value
ActiveWorkbook.Close savechanges:=False
Next i
End If
End With
'JETZT WIRD DIE AUSGABEZELLE DEFINIERT
ThisWorkbook.Sheets("NameAusgabeblatt").Range("A1") = Summe
End Sub

Dieser Code gehört in ein allgemeines Modul.

Es gibt allerdings auch Wege, mit Formeln und Namen alle (Excel-)Dateien eines Ordners auszulesen. Um dann allerdings einzelne Zellwerte dieser Dateien auslesen zu können, benötigst du ein AddIn. Zumindest dann, wenn du nicht jedesmal alle (Excel-)Dateien dieses Ordners gleichzeitig geöffnet haben möchtest (und davon gehe ich einfach mal aus).
Falls du also AddIns (bzw. ein AddIn) installieren darfst und dich eine solche Lösung möglicherweise mehr anspricht, oder der Code aud irgendeinem Grund dann eben doch nicht funktionieren sollte, dann melde dich.

_________________

Viele Grüße vom Schatzi

------------------------
Dies ist meine Signatur und sie trägt eigentlich nichts zur Lösung deines Problems bei. Sollte sie es dennoch tun, dann bist du definitiv im falschen Forum...Image
Ein Feedback zum ursprünglichen Problem wäre trotzdem nett!
Windows XP, Office2000, Office2007
Benutzer-Profile anzeigenPrivate Nachricht senden
Philipp82110
Newbie
Newbie


Anmeldedatum: 09.07.2007
Beiträge: 5

BeitragVerfasst am: 10.07.2007, 13:49 Nach oben

Danke schonmal,

allerdings würde mich die zweite variante mit den add-ins auch interessieren, da das öffnen aller datein etwas schwierig ist
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5520

BeitragVerfasst am: 10.07.2007, 14:59 Nach oben

Hallo!

Die zweite Variante funktioniert wie folgt:
Menü Einfügen > Namen > Definieren
Name: irgendwas
Bezieht sich auf: =DATEIEN("C:\Eigene Dateien\Excel\*.xls")&T(JETZT())
(Den Pfad musst du natürlich anpassen)
Schreibe nun in eine beliebige Zelle
=WENN(ZEILE(A1)>ANZAHL2(irgendwas);"";INDEX(irgendwas;ZEILE(A1)))
und kopiere diese Formel großzügig runter.
Du erhältst eine Auflistung aller xls-Dateien dieses Ordners.
Um diese nun (im geschlossenen Zustand) auslesen zu können, benötigst du besagtes AddIn. Google mal nach "INDIRECT.EXT" und/oder "morefunc".
Nach der Installation des AddIns kannst du die Werte auslesen, z.B. mit

=INDIRECT.EXT("'C:\Eigene Dateien\Excel\["&A1&"]Tabelle1'!A2")

wenn der Dateiname in A1 steht.

_________________

Viele Grüße vom Schatzi

------------------------
Dies ist meine Signatur und sie trägt eigentlich nichts zur Lösung deines Problems bei. Sollte sie es dennoch tun, dann bist du definitiv im falschen Forum...Image
Ein Feedback zum ursprünglichen Problem wäre trotzdem nett!
Windows XP, Office2000, Office2007
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge PivotTabelle - leere Felder ausfüllen McPilsbier Microsoft Excel Hilfe 3 27.08.2008, 13:13 Letzten Beitrag anzeigen
Keine neuen Beiträge bestimmte Inhalte einer Spalte kopieren FelixB81 Microsoft Excel Hilfe 4 15.08.2008, 11:52 Letzten Beitrag anzeigen
Keine neuen Beiträge Überschreiten einer maximale Anzahl f... eccgiraffe Microsoft Excel Hilfe 2 14.08.2008, 19:07 Letzten Beitrag anzeigen
Keine neuen Beiträge bestimmte Inhalte auslesen keyn1 Microsoft Word Hilfe 0 12.08.2008, 16:38 Letzten Beitrag anzeigen
Keine neuen Beiträge Abwesenheitsbenachrichtung nur für be... seban Microsoft Outlook Hilfe 0 12.08.2008, 11:24 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de