Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
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
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auslesen+Kopieren+3-fach

Auslesen+Kopieren+3-fach
04.02.2008 10:10:26
Fabio
Hallo zusammen, Hallo Chris,
Dein Makro (ganz unten) funktioniert "eigentlich" ganz gut. Danke auch dafür.
(siehe Beitrag hier : https://www.herber.de/forum/archiv/944to948/t946761.htm#947739)
Das "Problem" ist nur.. Excel liest die die Dateien aus, schreibt sauber das Datum in die Zeile
und liest dann alle Dateien "dreimal" aus. Bei den weiteren Dateien schreibt er dann in das jeweilige
"y"-Feld dann nur noch eine "1".
Insoweit kann ich mir da helfen, in dem ich alle Zeilen löschen, bei denen eine "1" in Y steht - warum der aber die Dateien nun dreifach ausliest verstehe ich auch ned.
Danke aber und liebe Grüße
Fabio

Sub Suche()
Dim strDateiname As String, strFirst As String, strDateipfad As String
Dim iDateien As Integer
Dim wks As Worksheet
Dim rFinde As Range, rSuche As Range
Dim lReihe As Long, letzte as Long
Application.ScreenUpdating = False
With Application.FileSearch
On Error Resume Next
.NewSearch
.LookIn = "C:\Kindersport\2007" ' Hier kann man den Pfad verändern
.Filename = "*.xls"
If .Execute() > 0 Then
For iDateien = 1 To .FoundFiles.Count
strDateiname = Dir(.FoundFiles(iDateien))
strDateipfad = .FoundFiles(iDateien)
If strDateiname  ThisWorkbook.Name Then
Workbooks.Open Filename:=.FoundFiles(iDateien)
For Each wks In ActiveWorkbook.Worksheets
Set rFinde = wks.Range("A:A")
Set rSuche = rFinde.Find(what:="Kindersport", LookAt:=xlPart, MatchCase:= _
_
_
False)
If Not rSuche Is Nothing Then
strFirst = rSuche.Address
Do
lReihe = rSuche.Row
If ThisWorkbook.Sheets(1).Range("A65536") = "" Then
wks.Range("A" & lReihe).EntireRow.Copy ThisWorkbook.Sheets(1).Range( _
_
" A65536").End(xlUp).Offset(1, 0)
With ThisWorkbook.Sheets(1)
letzte = IIf(IsEmpty(.Cells(Rows.Count, 1)),.Cells(Rows.Count, 1). _
_
End(xlUp).Row, Rows.Count)
End with
wks.Range("J2").Copy ThisWorkbook.Sheets(1).Range("Y" & letzte)
Else
MsgBox "Das Tabellenblatt ist voll! Es wird abgebrochen!",  _
vbExclamation, _
"Abbruch"
ActiveWorkbook.Close
Exit Sub
End If
Set rSuche = rFinde.FindNext(rSuche)
Loop While Not rSuche Is Nothing And rSuche.Address  strFirst
End If
Set rFinde = Nothing
Set rSuche = Nothing
Next wks
ActiveWorkbook.Close
End If
Next
End If
On Error GoTo 0
End With
Application.ScreenUpdating = True
End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Unsinn+Danke+Erledigt
04.02.2008 10:31:40
Fabio
Hallo !
Wenn man seine Daten dreifach speichert, muss man sich nicht wundern, wenn man ausliest :-)
-> Wie ? Was ?
-> Nun - die "Übersichts-Datei" war im selben Ordner gespeichert - ergo hat der die auch ausgelesen...
-> Peinlich...
Kurz gesagt: Vielen Dank Chris für die Lösung, Thema damit erledigt!
Fabio

AW: Auslesen+Kopieren+3-fach
04.02.2008 10:37:16
Chris
Servus Fabio,
ich hab's gerade nochmal getestet.
Bei mir macht das Makro genau das, was es soll. Es sucht die Einträge aus den Quelldateien und schreibt diese einmal mit dem jeweligen Datum in die Zieldatei.
Selbst mit verbundenen Zellen, macht's keine Probleme.
Gruß
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige