Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

per VBA Makro mehrere Excel Dateien auf einmal öffnen - importieren - konsolidieren

Frage Microsoft Microsoft Office

Mitglied: Shaggy84

Shaggy84 (Level 1) - Jetzt verbinden

16.04.2008, aktualisiert 23.04.2008, 20475 Aufrufe, 1 Kommentar

Hallo Forum Team,

habe eine direkt Frage für meinen Programmstart.

Ich möchte direkt aus einem bestimmten Ordner mehrere dort verlinkte Excel Dateien öffnen und meiner Excel Datei hin zu fügen.

Normalerweise geschieht dies ja mit dem Code (Auszug):
01.
Application.Dialogs(xlDialogOpen).Show 'öffne Quelldatei 
02.
Worksheets(1).Range("1:65535").Copy 'kopiere alles 
03.
Ziel.Worksheets(2).Activate 
04.
Ziel.Worksheets(2).Range("1:65535").PasteSpecial _ 
05.
Paste:=xlPasteValues 'fügt Daten in Zieltabelle ein
Nun sind es aber zig Excel Dateien die alle gleich aufgebaut sind. Ich kann die nicht alle über den Datei öffnen Dialog einzeln öffnen...
Gibt es eine Möglichkeit (nach dem *.* Prinzip) alle Dateien nach und nach automatisch laden zu können?

Grüße
Mitglied: Shaggy84
23.04.2008 um 14:41 Uhr
Hallo Administrator Forum,

habe mein Problem jetzt anders gelöst, nämlich mit einer Liste.

Grundvoraussetzung, die Dateinamen sollten möglich einfach sein und sich nicht ständig ändern.

- eine Zelle für den Pfad angelegt
- mehrere Zellen untereinander für den Dateinamen
[- mehrere Zellen daneben untereinander für den Dateityp, in meinem Fall nötig, da sowohl Links *.lnk als auch Dateien *.xls existieren. Hier mit einer Listenfunktion]

Hier der Programmauszug:
01.
'Definitionen 
02.
Pfad = Worksheets(1).Cells(6, 3) 
03.
Zaehler = 6 'Anfang der Dateiliste 
04.
Listenende = IIf(IsEmpty(Range("I65536")), Range("I65536").End(xlUp).Row, 65536) 'Ende der Dateiliste 
05.
 
06.
'Lade aus Liste Datei für Datei ein 
07.
Do Until Zaehler = Listenende + 1 
08.
    Worksheets(2).Cells.Clear 
09.
    Datei = Worksheets(1).Cells(Zaehler, 9) 'Einlesen des Dateinamens aus Liste 
10.
 
11.
    'Lese Dateiendung aus Liste 
12.
    If Worksheets(1).Cells(Zaehler, 10) = Worksheets(1).Cells(4, 12) Then  'variables Einlesen der Endung 
13.
        Endung = ".lnk" 
14.
    End If 
15.
    If Worksheets(1).Cells(Zaehler, 10) = Worksheets(1).Cells(5, 12) Then 
16.
        Endung = ".xls" 
17.
    End If 
18.
     
19.
   'erstelle Dateipfad 
20.
    On Error Resume Next 
21.
    Dateipfad = Pfad + Datei + Endung 
22.
    s = Dir(Dateipfad) 
23.
    If s <> "" Then 
24.
     
25.
        Workbooks.Open Pfad + Datei + Endung 'Dateipfadzusammenstellung 
26.
     
27.
       'kopieren 
28.
        Worksheets(3).Activate 
29.
        Letzte = IIf(IsEmpty(Range("F65536")), Range("F65536").End(xlUp).Row, 65536) 
30.
        Worksheets(3).Range(Cells(6, 1), Cells(Letzte, 35)).Copy 'Importbereich 
31.
 
32.
       'einfügen 
33.
        Ziel.Worksheets(2).Activate 
34.
        Ziel.Worksheets(2).Range("1:65536").PasteSpecial _ 
35.
        Paste:=xlPasteValues 'fügt Daten in Zwischenablage ein 
36.
     
37.
    'Abfangen von Fehlern 
38.
    Else: MsgBox "Datei " & Dateipfad & " existiert nicht! Schreibfehler oder falsche Dateiart?", vbExclamation 
39.
    i = i + 1 
40.
End If 
41.
 
42.
    Application.Run "CheckLines" 
43.
    Zaehler = Zaehler + 1 
44.
    Workbooks(Datei + Endung).Close SaveChanges:=False 'schließe offene Dateien 
45.
Loop
Achten, dass der Pfad mit einem "\" enden muss. Mit "CheckLines" werden die Dateien in einem weiterem Tabellenblatt untereinander kopiert. Hier werden Sie ja immer wieder überschrieben.

Grüße
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CSV-Datei nach Excel importieren (5)

Frage von mrvfbnummer2 zum Thema Batch & Shell ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

VB for Applications
VBA Excel Dateien zusammenfassen (3)

Frage von cberndt zum Thema VB for Applications ...

Neue Wissensbeiträge
Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Exchange Server

Mittels Batch-Script Exchange-Logs sammeln und archivieren

Anleitung von beidermachtvongreyscull zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
SSL Zertifikat für HTTPS (33)

Frage von Hendrik2586 zum Thema Verschlüsselung & Zertifikate ...

Grafikkarten & Monitore
24" oder 27" mit Full HD oder doch mehr Auflösung? (21)

Frage von brutzler zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

Netzwerke
Ip Adressenkonflikt bei Großfamilie (12)

Frage von gunter zum Thema Netzwerke ...