Pergunta : Fundir prima spreadsheets

nós tivemos 8 povos trabalhar em um 40mb compartilhado para primar a lima, nós mantivemo-nos funcionar em problemas com eles que não podem conservar etc. assim que nós conservamos basicamente 8 cópias do spreadsheet e os povos estão trabalhando apenas em seu próprio um now.

However para o relatório emitem-nos precisam agora de fundir para trás estes spreadsheets junto uma vez por dia (esperançosamente mantendo os usuários em suas limas individuais). Há alguma forma facil fazer isto? Eu tentei using a ferramenta da consolidação sem a sorte. E os meios da ferramenta da fusão nós temos que fazer cada spreadsheet um os bons 2-3 minutos a carregar uma vez que nós o fazemos) em um

So do tempo (e ele toma basicamente apenas que procura uma maneira mais fácil de realizar this.
class= do

Resposta : Fundir prima spreadsheets

CaptainGiblets,

O código abaixo está na lima unida. Para usá-lo precisará:

1. Coloc todas as limas a ser processadas em um dobrador do seus próprios. Coloc a lima unida em um dobrador diferente.

2. Atualizar esta linha de código no macro para serir seu para set-up o IE. onde você tem o lugar as limas a ser processadas:

Ajustar o fld = o fso.GetFolder (“C:\Documents and Settings\Patrick & Thuc-Nghi \ minhas originais \ limas de Patrick \ Excel \ CaptG \ ")

3. Pressionar a tecla para funcionar o macro.

Esperar que ajudas

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:
ProcessFromFolder secundário ()
'Este macro abre cada lima por sua vez e extrai os dados dele, grava-o na base de dados,
'fecha a lima, e move-se sobre para a lima seguinte. O macro igualmente grava o nome de arquivo de modo que
'processará somente uma lima se não tem sido processado antes. Usa uma “coleção” para
'os nomes da lima.

    Fso não ofuscante como o objeto, fld como o objeto, fil como o objeto
    Coll não ofuscante como a coleção nova
    FileListWs não ofuscante como a folha
    SourceWs não ofuscante como a folha
    SourceWb não ofuscante como o manual de instruções
    DestWs não ofuscante como a folha
    TotFiles não ofuscante como por muito tempo
    Contador não ofuscante como por muito tempo
    WasOpen não ofuscante como bôoleano
    Escurecer i como por muito tempo
    Escurecer o rowe como por muito tempo
    Escurecer a coluna como por muito tempo
    Escurecer o lastrow como por muito tempo
    Escurecer o errorflag como a corda
    
    Application.ScreenUpdating = falso
    
    errorflag = ""

    'Determinar as limas processadas já
    Ajustar FileListWs = ThisWorkbook.Worksheets (da “a lista lima”)
    Ajustar DestWs = ThisWorkbook.Worksheets (a “base de dados”)
    Com FileListWs
        TotFiles = Application.CountA (. [a: a])
        Se TotFiles > 0 então
            Para o contador = 1 a TotFiles
                coll. Adicionar. Pilhas (contrárias, 1). Pilhas (contrárias, 1)
            Em seguida
        Terminar se
    Terminar com

    'olhar o dobrador
    Ajustar o fso = o CreateObject (“Scripting.FileSystemObject”)
    'põr o trajeto cheio ao dobrador que contem arquivos de dados na linha de código seguinte
    Ajustar o fld = o fso.GetFolder (“C:\Documents and Settings\Patrick & Thuc-Nghi \ minhas originais \ limas de Patrick \ Excel \ CaptG \ ")
       
    Para cada fil no fld. Limas
        No resumo do erro em seguida
        coll. Adicionar o fil. Nome, fil. Nome
        Se erram <> 0 então
            'a lima já processada, não faz nada
            Err.Clear
        Mais
            'não processado ainda; processá-lo
            Com FileListWs
                Se TotFiles = 0 então
                    . [A2] = fil. Nome
                Mais
                    '. Pilhas (. Rows.Count, 1). Extremidade (xlUp). Offset (1, 0) = fil. Nome
                    . Pilhas (65536, 1). Extremidade (xlUp). Offset (1, 0) = fil. Nome
                Terminar se
            Terminar com
            'ver se está já aberto
            Ajustar SourceWb = manuais de instruções (fil. Nome)
            Se erram <> 0 então
                'não estava aberto
                WasOpen = falso
                Ajustar SourceWb = Workbooks.Open (fil. Trajeto)
            Mais
                WasOpen = retifica
            Terminar se
            
            Ajustar SourceWs = SourceWb.Sheets (1)
            
            Com SourceWs
                . Escala (. Pilhas (2, “A”). Pilhas (. Rows.Count, “A”). Extremidade (xlUp). Offset (0, 14)). Copiar o _
                    DestWs.Cells (DestWs.Rows.Count, “A”). Extremidade (xlUp). Offset (1, 0)
            Extremidade com
            
            errorflag = ""
            Se não WasOpen então SourceWb.Close falso
        Terminar se
    Em seguida

    Ajustar o coll = nada
    Ajustar o fil = nada
    Ajustar o fld = nada
    Ajustar o fso = nada
    
    Application.ScreenUpdating = retificam
    MsgBox “feito”

Submarino da extremidade
Outras soluções  
 
programming4us programming4us