Frage : Das Mischen übertrifft Verteilungsbögen

wir hatten 8 Leute, an einem geteilten 40mb zu arbeiten, Akte zu übertreffen, hielten wir, in Probleme mit ihnen zu laufen nicht in der Lage seiend, usw. zu speichern, also speicherten wir im Allgemeinen 8 Kopien des Verteilungsbogens und Leute arbeiten an gerade ihrem eigenen einem now.

However für Bericht herausgeben uns müssen jetzt diese Verteilungsbögen zurück vermischen zusammen einmal täglich (die Benutzer auf ihren einzelnen Akten hoffnungsvoll, halten). Gibt es irgendeine leichte Art, dies zu tun? Ich habe using das Verdichtungwerkzeug ohne Glück versucht. Und die Mischenwerkzeugmittel müssen wir jedes Verteilungsbogen (und es nimmt die guten 2-3 Minuten, zum zu laden, sobald wir es tun),

So einzeln tun nach einer einfacheren Weise im Allgemeinen gerade suchend, this.
zu vollenden

Antwort : Das Mischen übertrifft Verteilungsbögen

CaptainGiblets,

Der folgende Code ist in der angebrachten Akte. Zu Sie zu verwenden braucht:

1. In einem Faltblatt von ihren Selbst verarbeitet zu werden Akten setzen alle. Die angebrachte Akte in ein anderes Faltblatt legen.

2. Diese Linie des Codes im Makro aktualisieren, um zu entsprechen Ihr, IE zu gründen. wo Sie Platz die verarbeitet zu werden haben Akten:

Fld = fso.GetFolder einstellen („C:\Documents and Settings\Patrick u. Thuc-Nghi \ meine Dokumente \ Patricks \ Excel-Akten \ CaptG \ ")

3. Den Knopf betätigen, um das Makro laufen zu lassen.

Hoffen dass Hilfen

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:
6:
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:
VorProcessFromFolder ()
'Dieses Makro öffnet jede Akte der Reihe nach und extrahiert die Daten von ihm, notiert es in der Datenbank,
'schließt die Akte und weitergeht auf die folgende Akte gende. Das Makro notiert auch den Dateinamen damit
'es verarbeitet nur eine Akte, wenn es nicht vorher verarbeitet worden. Es benutzt eine „Ansammlung“ für
'die Aktennamen.

    Schwaches fso als Gegenstand, fld als Gegenstand, fil als Gegenstand
    Schwaches coll als neue Ansammlung
    Schwaches FileListWs als Arbeitsblatt
    Schwaches SourceWs als Arbeitsblatt
    Schwaches SourceWb als Arbeitsbuch
    Schwaches DestWs als Arbeitsblatt
    Schwaches TotFiles als lang
    Schwacher Kostenzähler als lang
    Schwaches WasOpen, wie Boolesch
    I als lang verdunkeln
    Rowe als lang verdunkeln
    Spalte als lang verdunkeln
    Lastrow als lang verdunkeln
    Errorflag als Schnur verdunkeln
    
    Application.ScreenUpdating = falsch
    
    errorflag = ""

    'Die Akten feststellen, die bereits verarbeitet
    FileListWs = ThisWorkbook.Worksheets („Akten-Liste“) einstellen
    DestWs = ThisWorkbook.Worksheets („Datenbank“) einstellen
    Mit FileListWs
        TotFiles = Application.CountA (. [a: a])
        Wenn TotFiles > 0 dann
            Für Kostenzähler = 1 zu TotFiles
                coll. Hinzufügen. Zellen (Gegen, 1). Zellen (Gegen, 1)
            Zunächst
        Beenden wenn
    Mit beenden

    'Faltblatt betrachten
    Fso = CreateObject („Scripting.FileSystemObject“) einstellen
    'vollen Weg zum Faltblatt setzen, das Dateien in der folgenden Linie des Codes enthält
    Fld = fso.GetFolder einstellen („C:\Documents and Settings\Patrick u. Thuc-Nghi \ meine Dokumente \ Patricks \ Excel-Akten \ CaptG \ ")
       
    Für jedes fil im fld. Akten
        Auf Störungs-Zusammenfassung zunächst
        coll. Fil addieren. Name, fil. Name
        Wenn 0 <> dann irren
            'die bereits verarbeitete Akte, tun nichts
            Err.Clear
        Sonst
            'nicht noch verarbeitet; es verarbeiten
            Mit FileListWs
                Wenn TotFiles = 0 dann
                    . [A2] = fil. Name
                Sonst
                    '. Zellen (. Rows.Count, 1).End (xlUp). Versatz (1, 0) = fil. Name
                    . Zellen (65536, 1).End (xlUp). Versatz (1, 0) = fil. Name
                Beenden wenn
            Mit beenden
            'sehen, wenn er bereits geöffnet ist
            SourceWb = Arbeitsbücher einstellen (fil. Name)
            Wenn 0 <> dann irren
                'war nicht geöffnet
                WasOpen = falsch
                SourceWb = Workbooks.Open einstellen (fil. Weg)
            Sonst
                WasOpen = ausrichten en
            Beenden wenn
            
            SourceWs = SourceWb.Sheets einstellen (1)
            
            Mit SourceWs
                . Strecke (. Zellen (2, „A“). Zellen (. Rows.Count, „A“). Ende (xlUp). Versatz (0, 14)). _ Kopieren
                    DestWs.Cells (DestWs.Rows.Count, „A“). Ende (xlUp). Versatz (1, 0)
            Ende mit
            
            errorflag = ""
            Wenn nicht WasOpen dann SourceWb.Close falsch
        Beenden wenn
    Zunächst

    Coll einstellen = nichts
    Fil einstellen = nichts
    Fld einstellen = nichts
    Fso einstellen = nichts
    
    Application.ScreenUpdating = ausrichten en
    MsgBox „getan“

Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us