Frage : Arbeitsblätter von den verschiedenen Arbeitsbüchern in ein Arbeitsbuch using VB.Net kombinieren

Hallo Experten.  Im kämpfend mit einigen Problemen mit Excel 2007 und VB2008/3.5.  Das Hauptman ist, dass ich die Blätter erhalten muss von drei verschiedenen Arbeitsbüchern, umbenannt und in ein unterschiedliches Arbeitsbuch dann kombiniert.  Dieses ist das gesamte Blatt, nicht reicht von einem Blatt.  Hat jemand eine Idee für dieses?  Viel Dank im Voraus

Antwort : Arbeitsblätter von den verschiedenen Arbeitsbüchern in ein Arbeitsbuch using VB.Net kombinieren

Ich angebracht irgendeinen Code h, der die Aufgabe abschließt.  Mich informieren, wie dieses arbeitet.  Der Code läuft, indem er eine Liste der Aktenwege durchläuft, die Sie in einer Strecke der Zellen voraussetzen.  Dieser Weg muss mit der Antriebsposition beginnen und unten zum Dateinamen mit seinem extention vollständig gehen.

Beispiel:

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

Sie können so vieles zur Verfügung stellen, wie Sie möchten.  Die einzige Beschränkung hier ist Excel kann Blätter 250ish nur behandeln.

Sie erwähnten die Blätter, die Sie nur, haben ein Arbeitsblatt zu haben.  Ich strukturierte den Code, um alle Arbeitsblätter im Arbeitsbuch gerade im Fall zu nehmen, den Sie mehr addieren möchten,/mehr Blätter später nehmen.  Dieses geändert leicht, um nur 1 Blatt zu nehmen, wenn die die gewünschte Funktionalität ist.

Der Code klebt Werte jetzt.  Mich informieren, wenn Sie mich den Code ändern wünschen, um alles einschließlich Formatierung zu kleben.

Die Arbeitsbücher müssen geschlossen sein, wenn Sie dieses Makro laufen lassen.  Ich arbeite an etwas Änderungen im Augenblick, um zu überprüfen, ob sie bereits und von dort schließen nur die geöffnet sind, die nicht bereits geöffnet waren.  Ich arbeite auch an irgendeinem Code, um die Dateinamen und die Blattnamen zu nehmen und sie in die Benennung des Arbeitsblattes im neuen Arbeitsbuch zu kombinieren.  Dieses kann möglicherweise nicht arbeiten, weil Blattnamen bei 32 Buchstaben mit einer Kappe bedeckt.  Nach der Prüfung, ich dachte, dass diese Funktionalität erforderlich war.  Ich fand, dass das vereinigte Arbeitsbuch oder also Blätter Dutzend hatte und hart war, sie im Auge zu behalten.  Mich informieren, wenn Sie nicht dieses wünschen.

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:
Sub getSheetsFromBooks ()

Akte, Dateinamen verdunkeln als Strecken'Strecke der Aktennamen
WS, newWS, currentWorksheet verdunkeln als Arbeitsblatt
assemblyWorkbook, dataWorkbook verdunkeln als Arbeitsbuch
Schwaches dataWorkbookName als Schnur 'verwendet dieses, um die Blätter in neuer WB zu nennen
Schwaches screenUpdate, displayAlerts, wie Boolesch

Dateinamen = Application.Selection einstellen
assemblyWorkbook = Application.ActiveWorkbook einstellen
currentWorksheet = Application.ActiveSheet einstellen

screenUpdate = Application.ScreenUpdating
Application.ScreenUpdating = falsch

displayAlerts = Application.displayAlerts
Application.displayAlerts = falsch

'schlingen, um über Aktennamen zu wiederholen
Für jede Akte in den Dateinamen
    
    dataWorkbook = Workbooks.Open einstellen (Akte. Wert)
    dataWorkbook.Activate
    
    'Schleife, zum der Arbeitsblätter zu kopieren
    Für jedes WS in ActiveWorkbook.Worksheets
        
        WS. Aktivieren
        Cells.Copy
        assemblyWorkbook.Activate
        newWS = Worksheets.Add einstellen (nachher: =Sheets (Sheets.Count))
        Strecke („A1“). Aktivieren
        ActiveCell.PasteSpecial Paste: =xlPasteValues
        
        ', die Arbeitsblätter nennend
        'Mit newWS
        '    . Name = dataWorkbookName
        'Ende mit
        
        Strecke („A1“). Auserwählt
        dataWorkbook.Activate

    Zunächst
    'nahes Arbeitsbuch
    dataWorkbook.Close
Zunächst

'zum Arbeitsblatt zurück gehen, das Sie das Programm an starteten
currentWorksheet.Activate

Application.CutCopyMode = falsch
Application.ScreenUpdating = screenUpdate
Application.ScreenUpdating = displayAlerts

Akte einstellen = nichts
Dateinamen einstellen = nichts
Einstellen WS = nichts
newWS einstellen = nichts
assemblyWorkbook einstellen = nichts
dataWorkbook einstellen = nichts

Unterseeboot beenden
Weitere Lösungen  
 
programming4us programming4us