Zellwert aus verschiedenen XLS

Bild

Betrifft: Zellwert aus verschiedenen XLS
von: stef26
Geschrieben am: 18.09.2015 11:48:02

Hallo Zusammen,
hab da ein Problem, welches ich mit meinen bescheidenen Kenntnissen in VBA nicht gebacken bekomme.
Ich habe in einem Pfad (sagen wir mal C:/temp) über 1000 Excellisten liegen.
Von diesen Listen bräuchte ich vom Tabellenblatt1 die Zelle A1.
In meiner XLS sollte praktisch der Name der XLS und deren Zelle A1
aufgelistet werden.
Wer könnte mir da unter die Arme greifen?
Liebe Grüße
Stefan

Bild

Betrifft: xlfaq
von: Michael
Geschrieben am: 18.09.2015 12:13:40
Hallo Stefan,
eine Recherche auf Herbers FAQ kann nie schaden: https://www.herber.de/xlfaq/index.html
Da findest Du
https://www.herber.de/mailing/Werte_aller_A1-Zellen_aus_allen_Blaettern_Tabelle1.htm
Schöne Grüße,
Michael

Bild

Betrifft: AW: Versionsabhängiger Lösungsvorschlag!
von: Gerd L
Geschrieben am: 18.09.2015 12:22:04
Hallo Michael,

Filesearch
wurde m.W. ab Excel 2007 "aus dem Programm genommen".
Gruß Gerd

Bild

Betrifft: AW: Versionsabhängiger Lösungsvorschlag!
von: stef26
Geschrieben am: 18.09.2015 12:27:44
Hallo,
danke für die Info.
Gibt es eine Alternative zu FileSearch ?
Gruß
Stefan

Bild

Betrifft: ja, Dir
von: Michael
Geschrieben am: 18.09.2015 13:04:08
Gerd hat ja Recht, es wäre ja auch zu einfach gewesen.
Wer schreibt's schnell - Gerd oder ich?
Gruß,
M.

Bild

Betrifft: AW: Dateien und A1-Inhalt mit Dir auflisten
von: Michael (migre)
Geschrieben am: 18.09.2015 13:47:45
Hallo!
Möchte hier keinen Faden kapern, aber falls Gerd und Michael schon im Wochenende sind, hier meine Variante des vorgeschlagenen "Dir"-Wegs. Makro muss in ein allgemeines Modul, der entsprechende Pfad, wo die XL-Dateien liegen, muss angepasst werden. Alle .xlsx-Dateien werden durchgegangen (geöffnet) - der Dateiname wird in Spalte A, der jeweilige Inhalt aus A1 in Spalte B geschrieben.


Sub AusAllenMappenA1auslesen()
    Const Pfad As String = "U:\Test" & "\" '<-- Verzeichnis anpassen!
    Dim Datei As String
    Dim Ziel As Workbook
    Dim Quell As Workbook
    Dim i As Long
    
    Set Ziel = ThisWorkbook
    
    Application.ScreenUpdating = False
    
    Datei = Dir(Pfad & "*.xlsx")
    
    i = 1
    
    Do While Datei <> ""
        
        Set Quell = Workbooks.Open(Filename:=Pfad & Datei)
        
        With Ziel.Worksheets(1)
            .Range("A" & i).Value = Datei
            .Range("B" & i).Value = Quell.Worksheets(1).Range("A1").Value
        End With
        
        Quell.Close savechanges:=False
        
        i = i + 1
        Datei = Dir
        
    Loop
 
    Application.ScreenUpdating = True
 
End Sub
LG und schönes Wochenende
Michael

Bild

Betrifft: Danke fürs Kapern,
von: Michael
Geschrieben am: 18.09.2015 14:02:04
Michael,
ich hab Deine Antwort gerade noch gesehen, bevor ich mich selbst drangesetzt hätte.
Gut, gut.
Ciao,
M.

Bild

Betrifft: AW: Aber gern :-)) - hoffentlich passt's! owT
von: Michael (migre)
Geschrieben am: 18.09.2015 14:07:35


Bild

Betrifft: AW: Supi
von: stef26
Geschrieben am: 18.09.2015 15:27:16
Hallo,
besten Dank genauso hab ich das gebraucht. Ich wünschte ich könnte das auch VBA, was man da alles machen kann.
Hätte da noch ne unverschämte Frage.
Wenn ich eine der XLS aus dem Verzeichnis öffne, werde ich gefragt, ob ich daten aktualisieren möchte.
Problem: Das frägt er mich beim Macro nun tausend male..
Kann man das unterdrücken oder unter optionen unterdrücken ?
Liebe Grüße
Stefan

Bild

Betrifft: AW: Supi
von: Michael
Geschrieben am: 18.09.2015 17:59:20
Hi Stefan,
wahrscheinlich hast Du jetzt eh schon "1000" Mal gedrückt...
Eine vertiefende Diskussion des Themas findet sich hier:
http://stackoverflow.com/questions/14908372/how-to-suppress-update-links-warning
Wenn ich das richtig verstehe, genügt es, nach dem Datei.Open - Befehl UpdateLinks:=False zu verwenden, also insgesamt so:

Set Quell = Workbooks.Open(Filename:=Pfad & Datei, UpdateLinks:=False)
Allerdings: wenn in A1 ein Verweis steht anstelle eines Wertes, wird er eben auch nicht upgedatet.
Hab's jetzt nicht probiert.
Schöne Grüße,
Michael
P.S.: Michaels Code lädt immer das erste Tabellenblatt Worksheets(1).
Je nach dem, wer die Datein erstellt hat, muß das nicht zwingend "Tabelle1" sein; behalte das mal im Hinterkopf, falls der eine oder andere Wert nicht Deinen Erwartungen entspricht.

Bild

Betrifft: AW: Supi
von: stef26
Geschrieben am: 20.09.2015 15:53:37
Hallo Michael,
ne hab die tausend (sind vermutlich weit aus mehr) noch nicht geklickt...
erde am Montag gleich mal testen ob dies so funktioniert.
Danke
Stefan

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zellwert aus verschiedenen XLS"