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

Mehrere Excel ToDo Listen per VBA bzw Makro zusammenführen? Teil 2

Frage Entwicklung VB for Applications

Mitglied: Mr-Lanzelot

Mr-Lanzelot (Level 1) - Jetzt verbinden

15.05.2012, aktualisiert 18.10.2012, 4740 Aufrufe, 2 Kommentare

Erbitte Unterstützung bei der Anpassung eines Excel Makros

Hallo zusammen,

auf der Suche nach einem Makro, mit dem ich mehrere Excel-Listen per Makro zusammenführen kann, bin ich auf folgenden Beitrag gestoßen:

http://www.administrator.de/frage/Mehrere-Excel-ToDo-Listen-per-VBA-bzw ...

Option Explicit

Const HomeDatei = "LeereArbeitsmappe.xls" 'Name Arbeitsmappe Makro-Excel-Datei
Const HomeDaten = "Daten-Import" 'Name Tabellenblatt Daten-Import
Const HomeListe = "Datei-Liste" 'Name Tabellenblatt Datei-Liste
Const HomeZeile = 3 'Erste Zeile Einfügen
Const CopyZeile = 3 'Erste Zeile Kopieren
Const ListDatei = "A1" 'Zelle erster Dateiname

Const ErrMsg = "Abbruch! Datei existiert nicht: "

Sub SheetsImport()
Dim WksHome As Worksheet, WksList As Worksheet, EndLine As Integer, NextLine As Integer
Dim WkbCopy As Workbook, WksCopy As Worksheet, Fso As Object, File As Object

Set Fso = CreateObject("Scripting.FileSystemObject")

Set WksHome = Workbooks(HomeDatei).Sheets(HomeDaten)
Set WksList = Workbooks(HomeDatei).Sheets(HomeListe)

EndLine = GetEndLine(WksHome): NextLine = HomeZeile

If EndLine >= HomeZeile Then WksHome.Rows("3:" & EndLine).Cells.Clear

Application.ScreenUpdating = False

For Each File In WksList.Range(ListDatei).CurrentRegion
If Fso.FileExists(File) = False Then
Application.ScreenUpdating = True
MsgBox ErrMsg & File, vbExclamation, "Fehler": Exit Sub
End If

Set WkbCopy = Workbooks.Open(File): Set WksCopy = WkbCopy.Sheets(1)

EndLine = GetEndLine(WksCopy)

If EndLine >= CopyZeile Then
WksCopy.Rows("3:" & EndLine).Copy
WksHome.Rows(NextLine).Insert Shift:=xlDown
Application.CutCopyMode = False
WkbCopy.Saved = True: WkbCopy.Close
NextLine = GetEndLine(WksHome) + 1
End If
Next
Application.ScreenUpdating = True
End Sub

Private Function GetEndLine(ByRef Wks) As Integer
GetEndLine = Wks.Cells(Wks.Rows.Count, "A").End(xlUp).Row
End Function
Wäre nun auch möglich, als Quelle keine einzelnen Excel-Dateien anzugeben, sondern lediglich ein Verzeichnis, in welchem die Dateien liegen und das Makro einfach alle verarbeiten soll?
Könnte man das o.g. Makro dementsprechend abändern?

Vielen Dank vorab für eure Unterstützung!

Viele Grüße,
L.
Mitglied: bastla
15.05.2012, aktualisiert 18.10.2012
Hallo Mr-Lanzelot!
Wäre nun auch möglich, als Quelle keine einzelnen Excel-Dateien anzugeben, sondern lediglich ein Verzeichnis, in welchem die Dateien liegen und das Makro einfach alle verarbeiten soll?
Ja.
Könnte man das o.g. Makro dementsprechend abändern?
Ja.

Grüße
bastla

P.S.: In der Nachbarschaft: http://www.administrator.de/forum/sammeltabelle-daten-%28zeilen%29-aus- ...
Bitte warten ..
Mitglied: Mr-Lanzelot
16.05.2012 um 09:48 Uhr
Hallo bastla,

vielen Dank für die Hilfe!

Schönen Tag noch!

Gruß
L.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst TODO List in ( Batch ) (2)

Frage von clragon zum Thema Batch & Shell ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

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

Frage von lupi1989 zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (15)

Frage von takvorian zum Thema Windows Server ...