Pytanie : Łączyć worksheets od różny workbooks w jeden workbook using VB.Net

Cześć Ekspert.  Im z liczba problem z Przodować 2007 i VB2008/3.5.  The główny jeden być że I potrzebować prześcieradło od trzy różny workbooks, przemianowywać i wtedy łączyć w oddzielny workbook.  Prześcieradło być the całkowity prześcieradło, nie pasmo od prześcieradło.  To mieć pomysł dla to?  Wiele Dzięki w advance

Odpowiedź : Łączyć worksheets od różny workbooks w jeden workbook using VB.Net

I dołączać niektóre kod który uzupełniać the zadanie.  Pozwalać jak to pracować.  The kod biegać przez lista kartoteka ścieżka który ty zapewniać w pasmo komórka.  Ten ścieżka musieć z the prowadnikowy lokacja i wszystkie the sposób puszek the filename z swój extention.

Przykład:

C:\Users\Matthew Sheskey \ Desktop \ ExcelImport.xlsx

Ty móc równie zapewniać gdy ty polubić.  The jedyny ograniczenie tutaj być Przodować móc tylko 250ish prześcieradło.

Ty wspominać the prześcieradło ty mieć tylko jeden worksheet.  I konstruować the kod chcieć the worksheets w the workbook właśnie w skrzynka ty chcieć chcieć/brać więcej prześcieradło opóźniony.  To łatwo zmieniać tylko (1) prześcieradło jeżeli prześcieradło być the pragnąć funkcjonalność.

The kod klajstrować wartość teraz.  Pozwalać jeżeli ty chcieć the kod chcieć wliczając formatowanie.

The workbooks musieć zamykać gdy ty biegać ten macro.  I pracować na niektóre zmiana teraz czy być już otwarty i od tam  tylko zamykać the tam  który być już otwarty.  I także pracować na niektóre kod the filenames i prześcieradło imię i w the worksheet w the nowy workbook.  Charakter móc ponieważ szkotowy imię nakrywać przy 32 charakter.  I myśleć ten funkcjonalność potrzebować po.  I zakładać the konsolidować workbook miewać tuzin lub więc prześcieradło i być ciężki ślad.  Pozwalać jeżeli ty chcieć chcieć.

(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:
Okręt podwodny getSheetsFromBooks ()

Ciemnawy kartoteka, fileNames Jako Pasmo 'pasmo kartoteka imię
Ciemnawy ws, newWS, currentWorksheet Jako Worksheet
Ciemnawy assemblyWorkbook, dataWorkbook Jako Workbook
Ciemnawy dataWorkbookName Jako Sznurek 'używać to the prześcieradło w nowy WB
Ciemnawy screenUpdate, displayAlerts Boolowski

Ustalony fileNames = Application.Selection
Ustalony assemblyWorkbook = Application.ActiveWorkbook
Ustalony currentWorksheet = Application.ActiveSheet

screenUpdate = Application.ScreenUpdating
Application.ScreenUpdating = Fałszywy

displayAlerts = Application.displayAlerts
Application.displayAlerts = Fałszywy

'zapętlać iterate nad kartoteka imię
Dla Kartoteka kartoteka W fileNames
    
    Ustalony dataWorkbook = Workbooks.Open (kartoteka. Wartość)
    dataWorkbook.Activate
    
    'pętla worksheets
    Dla ActiveWorkbook.Worksheets ws W ActiveWorkbook.Worksheets
        
        ws. Aktywować
        Cells.Copy
        assemblyWorkbook.Activate
        Ustawiać newWS = Worksheets.Add (Póżniej: =Sheets (Sheets.Count))
        Pasmo ("A1"). Aktywować
        ActiveCell.PasteSpecial Pasta: =xlPasteValues
        
        'wymieniać the worksheets
        'Z newWS
        '    . Imię = dataWorkbookName
        'Końcówka Z
        
        Pasmo ("A1"). Wybiórka
        dataWorkbook.Activate

    Następnie
    'zamknięty workbook
    dataWorkbook.Close
Następnie

'iść z powrotem the worksheet ty zaczynać the program dalej
currentWorksheet.Activate

Application.CutCopyMode = Fałszywy
Application.ScreenUpdating = screenUpdate
Application.ScreenUpdating = displayAlerts

Ustalony kartoteka = Nic
Ustalony fileNames = Nic
Set ws = Nic
Ustalony newWS = Nic
Ustalony assemblyWorkbook = Nic
Ustalony dataWorkbook = Nic

Końcówka Okręt podwodny
Inne rozwiązania  
 
programming4us programming4us