Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Inhalte auslesen

Inhalte auslesen
30.09.2006 12:13:49
Dirk
Hallo, ich komme nicht weiter....
ich habe hier ca 1000 dateien, aus denen ich aus jeweils "Auftragsblatt" die zelle c52 und c26 auslesen will.
das problem ist aber, das die beiden werte nicht auf gleicher höhe erscheinen.
wo ist nur mein Fehler?
Dirk

Sub Einlesen1()
Dim iCounter As Integer, iRow As Integer
Dim sfile As String, sPath As String
iRow = Cells(Rows.Count, 1).End(xlUp).Row + 2
With Application.FileSearch
.LookIn = Range("g1").Value
.FileType = msoFileTypeExcelWorkbooks
.Execute
For iCounter = 1 To .FoundFiles.Count
sfile = Dir(.FoundFiles(iCounter))
sPath = WorksheetFunction.Substitute(.FoundFiles(iCounter), sfile, "")
With Cells(iRow, 1)
.Formula = "='" & sPath & "[" & sfile & "]Auftragsblatt'!c26"
.Value = .Value
End With
iRow = iRow + 1
Next iCounter
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Sub Einlesen2()
Dim i As Integer, b As Integer
Dim c As String, a As String
i = 0
b = 0
c = 0
a = 0
b = Cells(Rows.Count, 1).End(xlUp).Row
With Application.FileSearch
.LookIn = Range("g1").Value
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
c = Dir(.FoundFiles(i))
a = WorksheetFunction.Substitute(.FoundFiles(i), c, "")
With Cells(b, 3)
.Formula = "='" & a & "[" & c & "]Auftragsblatt'!c52"
.Value = .Value
End With
b = b + 1
Next i
End With
End Sub


Sub suchen()
Call Einlesen1
Call Einlesen2
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalte auslesen
30.09.2006 12:23:56
Dirk
auch so, in Zelle G1 steht der Pfad zu meinen Dateien
AW: Inhalte auslesen
30.09.2006 13:51:25
fcs
Hallo Dirk,
so wie du die Makros ablaufen läßt wird in beiden Einlesen-Makros jeweils die letzte ausgefüllte Zelle in Spalte 1 ermittelt, um die Startzeile (iRow bzw. b) festzulegen ab der Formeln/Werte in Spalte 1 bzw . 3 eingetragen werden sollen. So werden die Werte in Spalte 3 unterhalb der Werte in Spalte 1 eingetragen.
Folgende Anpassung setzt die Start-Zeile für Einlesen2 innerhalb von Einlesen1.

Public b As Long ' ### geändert
Sub Einlesen1()
Dim iCounter As Integer, iRow As Integer
Dim sfile As String, sPath As String
iRow = Cells(Rows.Count, 1).End(xlUp).Row + 2
b = iRow '### geändert
With Application.FileSearch
.LookIn = Range("g1").Value
.FileType = msoFileTypeExcelWorkbooks
.Execute
For iCounter = 1 To .FoundFiles.Count
sfile = Dir(.FoundFiles(iCounter))
sPath = WorksheetFunction.Substitute(.FoundFiles(iCounter), sfile, "")
With Cells(iRow, 1)
.Formula = "='" & sPath & "[" & sfile & "]Auftragsblatt'!c26"
.Value = .Value
End With
iRow = iRow + 1
Next iCounter
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Sub Einlesen2()
Dim i As Integer ' ### geändert
Dim c As String, a As String
'  i = 0 'überflüssig
'  b = 0 'überflüssig
'  c = 0 'überflüssig
'  a = 0 'überflüssig
'   b = Cells(Rows.Count, 1).End(xlUp).Row
With Application.FileSearch
.LookIn = Range("g1").Value
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
c = Dir(.FoundFiles(i))
a = WorksheetFunction.Substitute(.FoundFiles(i), c, "")
With Cells(b, 3)
.Formula = "='" & a & "[" & c & "]Auftragsblatt'!c52"
.Value = .Value
End With
b = b + 1
Next i
End With
End Sub
Sub suchen()
Call Einlesen1
Call Einlesen2
End Sub

Warum hast du eigentlich zwei Einlese-Routinen. Diese beiden Routinen könnte man doch gut in eienr zusammenfassen und hätte auch das leidige Problem mit der Startzeile nicht mehr.

Sub Einlesen()
Dim iCounter As Integer, iRow As Integer
Dim sfile As String, sPath As String
iRow = Cells(Rows.Count, 1).End(xlUp).Row + 2
b = iRow '### geändert
With Application.FileSearch
.LookIn = Range("g1").Value
.FileType = msoFileTypeExcelWorkbooks
.Execute
For iCounter = 1 To .FoundFiles.Count
sfile = Dir(.FoundFiles(iCounter))
sPath = WorksheetFunction.Substitute(.FoundFiles(iCounter), sfile, "")
With Cells(iRow, 1)
.Formula = "='" & sPath & "[" & sfile & "]Auftragsblatt'!c26"
.Value = .Value
End With
With Cells(iRow, 3)
.Formula = "='" & sPath & "[" & sfile & "]Auftragsblatt'!c52"
.Value = .Value
End With
iRow = iRow + 1
Next iCounter
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Gruß
Franz
Anzeige
AW: Inhalte auslesen
30.09.2006 18:21:59
Dirk
danke dir, läuft super so
ich wollte später noch aus einem Anderen Verzeichnis auch noch Dateien auslesen und zusammen bringen (andrer Pfad, Blatt ...)
Dirk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige