Excel werkbladen importeren in 1 werkboek, wat klopt niet aan deze formule?

Status
Niet open voor verdere reacties.

Hastings

Gebruiker
Lid geworden
24 mei 2011
Berichten
16
Hallo allemaal,

Lange tijd geleden maar ik ben weer terug.
Ik ben druk bezig om door middel van visual basic meerdere excel files te importeren in 1 werkboek.
Al deze files hebben dezelfde opmaak en moeten in bladen achter elkaar komen te staan.

Ik heb de volgende VBA formule geschreven:

Sub CollectAll_Click()
On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False
Dim fso, da, fld, fil As Object
Dim wb As Workbook
Dim ws As Worksheet
Dim Sh As String
Dim astrLinks As Variant
Set fso = CreateObject("Scripting.FileSystemObject")
da = Date - 1
Sh = Format(da, "dd mmm")
Ma = Format(da, "mm")
Best = Ma & " Pressco Analyse L2 - " & Sh & ".xlsx"
Dest = "\\C:\Documents and Settings\RvanHaar\My Documents\Importeren in dagrapportage\"
Application.ScreenUpdating = False

Set fld = fso.GetFolder(Dest)
For Each fil In fld.Files
If LCase(Left(fil.Name, 26)) = "turflijst lijn2 " & da Then
Set wb = Workbooks.Open(fil.Path)
Set ws = wb.Sheets(1)
With PressCollect
With wb.VBProject
awcl = .VBComponents(ws.CodeName).CodeModule.CountOfLines
.VBComponents(ws.CodeName).CodeModule.DeleteLines 1, awcl
End With
ws.Activate
ActiveWindow.ScrollRow = 1
ws.Protect
ws.Move After:=.Worksheets(.Worksheets.Count)
End With
wb.Close SaveChanges:=False
End If
Next
Set fil = Nothing
Set fld = Nothing

ActiveWorkbook.Sheets(2).Activate
ActiveWindow.ScrollRow = 1

TabCollect = Nothing
For I = 3 To Worksheets.Count + 1
ShNm = Sheets(I).Name
TabCollect = TabCollect & ShNm & "'!B4"
If I = Worksheets.Count + 1 Then GoTo Klr
TabCollect = TabCollect & "+'"
Klr:
Next I
PressCollect.SaveAs (Dest & Best), FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
VBA.FileSystem.SetAttr (Dest & Best), vbReadOnly
Application.ScreenUpdating = True

Set da = Nothing

If Workbooks.Count = 1 Then Application.Quit Else PressCollect.Close SaveChanges:=False
Application.EnableEvents = True
Application.ScreenUpdating = True
Einde:
End Sub


De functie gaat lopen maar hij voegt niet de werkbladen toe zoals ik wil...
Hoe moet het eruit komen te zien en wat moet hij doen?

Het is nu 25-6, hij moet alle gemaakte bestanden met de naam ''turflijst lijn2 24-06-2013'' sheet 1 samenvoegen in 1 werkboek met meerdere werkbladen.
De werkbladen moeten de naam uit de bestandsnaam krijgen; ''turflijst lijn2 24-06-2013_00-07" en dan namelijk de tijd 00-07 die er achter staat.

werkblad 1 en 2 zijn samenvattingsbladen in de file.

Zou iemand er eens naar kunnen/willen kijken wat hier fout gaat?
Bekijk bijlage Collector L2.xlsm

alvast heel erg bedankt,

Rick
 
Rick,

Ik begrijp je programma niet. Volgens mij wil je:
- een doel bestand openen waarin je gegevens gaat verzamelen
- een van de bronbestanden openen die je wil samenvoegen
- de gegevens kopi�ren naar het doel bestand
- het openstaande bronbestand weer sluiten
- het volgende bronbestand openen.
- Als je alle bronbestanden hebt gehad melden dat je klaar bent.

Ik zie geen doel bestand dat je opent in het begin.
Ik zie dat je de bronbestanden opent, de VBA codes verwijderd, beveiligt etc.
nog een aantal dingen veranderd en het bestand (zonder op te slaan??) weer sluit.
(wb.Close SaveChanges:=False zorgt voor sluiten zonder opslaan).

Er is niets uitgehaald, en wat veranderd is is niet opgeslagen, nodeloos dus.

De vraag "Hoe moet het eruit komen te zien en wat moet hij doen?" die onderaan je vraag staat
willen ik graag van jou weten.

De gegevens die je uit het bronbestand haalt kun je niet verzamelen door tabbladen toe te voegen.
Dit wordt veel te ingewikkeld om hier overzichten van te maken. Deze zul je in een tabel moeten
zetten. Hoe dit moet gebeuren kunnen wij je niet vertellen omdat wij niet weten hoe deze bronbestanden
er uit zien.


Veel Succes.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan