Vraag : Het samenvoegen blinkt spreadsheten uit

wij hadden 8 mensen werken aan 40mb gedeeld dossier uitblinken, hielden wij tegenkomend problemen met hen die kunnen niet om sparen enz. zodat bewaarden wij fundamenteel 8 exemplaren van de spreadsheet en de mensen werken aan enkel hun eigen now.

However voor rapportering wij nu moeten uitgeeft deze spreadsheten samenvoegen samen achter één keer per dag (hopelijk houdend de gebruikers op hun individuele dossiers). Is er om het even welke gemakkelijke manier om dit te doen? Ik heb geprobeerd gebruikend het consolidatiehulpmiddel zonder geluk. En de het hulpmiddelmiddelen van de Fusie moeten wij elke spreadsheet tegelijkertijd doen (en het neemt goede 2-3 minuten aan lading zodra wij het) doen

So fundamenteel enkel zoekend een gemakkelijkere manier om this.
te verwezenlijken

Antwoord : Het samenvoegen blinkt spreadsheten uit

CaptainGiblets,

De code is hieronder in het dossier in bijlage. Moeten gebruiken zult u:

1. Alle dossiers te plaatsen die in een omslag van hun moeten worden verwerkt. Het dossier in bijlage in een verschillende omslag te plaatsen.

2. Deze lijn van code in de macro bij te werken om uw opstelling aan te passen d.w.z. waar u plaats de te verwerken dossiers hebt:

Reeks fld = fso.GetFolder („C:\Documents and Settings\Patrick & thuc-Nghi \ Mijn \ Excel dossiers \ CaptG \ van Documenten \ Patrick“)

3. Druk de knoop om de macro in werking te stellen.

Hoop die helpt

Patrick
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
Sub ProcessFromFolder ()
'Deze macro opent beurtelings elk dossier en haalt de gegevens uit het, registreert het in het gegevensbestand,
'sluit het dossier, en bewegingen op het volgende dossier. De macro registreert ook het dossier - noem zodat
'het zal slechts een dossier verwerken als het niet voordien is verwerkt. Het gebruikt een „inzameling“ voor
de 'dossiernamen.

    Schemerige fso als Voorwerp, fld als Voorwerp, fil als Voorwerp
    Schemerige coll als Nieuwe Inzameling
    Schemerige FileListWs als Aantekenvel
    Schemerige SourceWs als Aantekenvel
    Schemerige SourceWb als Werkboek
    Schemerige DestWs als Aantekenvel
    Schemerige TotFiles zoals lang
    Schemerige Teller zoals lang
    Schemerige WasOpen zoals Van Boole
    Schemerige I zoals lang
    Schemerige rowe zoals lang
    Schemerig col. zoals lang
    Schemerige lastrow zoals lang
    Schemerige errorflag als Koord
    
    Application.ScreenUpdating = Vals
    
    errorflag = ""

    'Bepaal reeds verwerkte dossiers
    Plaats FileListWs = ThisWorkbook.Worksheets (de „Lijst van het Dossier“)
    Plaats DestWs = ThisWorkbook.Worksheets („Gegevensbestand“)
    Met FileListWs
        TotFiles = Application.CountA (. [a: a])
        Als TotFiles > 0 toen
            Voor Teller = 1 aan TotFiles
                coll. Voeg toe. Cellen (Tegen, 1). Cellen (Tegen, 1)
            Daarna
        Eind als
    Eind met

    'bekijk omslag
    Plaats fso = CreateObject („Scripting.FileSystemObject“)
    'zet volledige weg aan omslag die gegevensdossiers in de volgende lijn van code bevatten
    Plaats fld = fso.GetFolder („C:\Documents and Settings\Patrick & thuc-Nghi \ Mijn \ Excel dossiers \ CaptG \ van Documenten \ Patrick“)
       
    Voor Elke fil in fld. Dossiers
        Op Fout hervat daarna
        coll. Voeg fil toe. Naam, fil. Naam
        Als 0 <> me dan vergis
            'dien reeds verwerkt in, doen niets
            Err.Clear
        Anders
            'nog verwerkt niet; proces het
            Met FileListWs
                Als TotFiles = 0 toen
                    . [A2] = fil. Naam
                Anders
                    '. Cellen (. Rows.Count, 1). Eind (xlUp). Compensatie (1, 0) = fil. Naam
                    . Cellen (65536, 1). Eind (xlUp). Compensatie (1, 0) = fil. Naam
                Eind als
            Eind met
            'zie of is het reeds open
            Plaats SourceWb = Werkboeken (fil. Naam)
            Als 0 <> me dan vergis
                'was niet open
                WasOpen = Vals
                Vastgestelde SourceWb = Workbooks.Open (fil. Weg)
            Anders
                WasOpen = Waar
            Eind als
            
            Vastgestelde SourceWs = SourceWb.Sheets (1)
            
            Met SourceWs
                . Waaier (. Cellen (2, „A“). Cellen (. Rows.Count, „A“). Eind (xlUp). Compensatie (0, 14)). Exemplaar _
                    DestWs.Cells (DestWs.Rows.Count, „A“). Eind (xlUp). Compensatie (1, 0)
            Eind met
            
            errorflag = ""
            Als niet Valse WasOpen toen SourceWb.Close
        Eind als
    Daarna

    Reeks coll = niets
    Reeks fil = niets
    Reeks fld = niets
    Vastgestelde fso = niets
    
    Application.ScreenUpdating = Waar
    „Gedaane“ MsgBox

Sub van het eind
Andere oplossingen  
 
programming4us programming4us