Top-Themen

Aktuelle Themen (A bis Z)

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

Excel 2003 Automatisches Übertragen von Daten versch. Exceldateien auf eine Exceldatei

Mitglied: paterpen

paterpen (Level 1) - Jetzt verbinden

22.10.2012 um 15:24 Uhr, 5792 Aufrufe, 8 Kommentare

Ich versuche mich schon ewig daran mein Problem zu lösen. Ich habe hier ein Beitrag gefunden, der fast mein Problem trifft, aber ich schaff es nicht den Code so umzuändern, dass er auf mein Problem passt.
Link: https://www.administrator.de/forum/excel-makro-daten-aus-mehreren-tabell ...

Hallo,
ich hoffe ich kann mein Problem verständlich erkären.

Ich habe verschiedene Excel Sheets (in einem Ordner) mit denen Kalkulationen durchgeführt werden. Jedes dieser Sheets hat eine Übersichtsseite (Deckblatt), auf der die errechneten Kennzahlen/Summen aber auch Text steht ( E38 bis G57 und ich habe keine Rechte das Dokument zu ändern).

Jetzt sollen die Datenblöcke nebereinander angeordnet werden, damit es schön übersichtlich ist.
Wie schon gesagt, eigentlich ist der oben genannte Link schon die Lösung, aber ich schaff es einfach nicht ihn auf mein Problem zu übertragen.

Ich hoffe ihr könnt mir weiter helfen.

Vielen Dank im Voraus.



lg paterpen
Mitglied: drnatur
22.10.2012 um 16:00 Uhr
hallo paterpen,

bitte beschreib doch mal genau, worin dein Problem besteht.
Kommt eine Fehlermeldung beim Ausführen des Makros?
Wird in der Zieldatei nichts eingetragen?
.....

liebe Grüße, drnatur
Bitte warten ..
Mitglied: bastla
22.10.2012, aktualisiert 05.11.2012
Hallo paterpen und willkommen im Forum!

Vielleicht geht es ja so besser:
01.
Sub Zusammenfassen() 
02.
sQuellpfad = "D:\Test" 
03.
 
04.
QT = "Deckblatt" 'Tabellenname in der Quelldatei 
05.
Q = "E38:G57" 'Quellbereich 
06.
ZAbSpalte = 1 'ab dieser Spalte Daten in Sammeldatei schreiben 
07.
ZZeile = 3 'ab dieser Zeile Daten in Sammeldatei schreiben 
08.
 
09.
Set wbGes = ActiveWorkbook 
10.
Set fso = CreateObject("Scripting.FileSystemObject") 
11.
 
12.
QSpalten = Range(Q).Columns.Count 'Spaltenanzahl des Quellbereichs ermitteln 
13.
QZeilen = Range(Q).Rows.Count 'Zeilenanzahl des Quellbereichst ermitteln 
14.
ZSpalte = ZAbSpalte 'Spaltennummer vorbelegen 
15.
 
16.
For Each oFile In fso.GetFolder(sQuellpfad).Files 
17.
    If LCase(fso.GetExtensionName(oFile.Name)) = "xlsx" Then 
18.
        Application.Workbooks.Open oFile.Path 
19.
        wbGes.Worksheets(1).Cells(ZZeile, ZSpalte).Value = fso.GetBaseName(ActiveWorkbook.Name) 'Dateinamen der Quelldatei eintragen 
20.
        wbGes.Worksheets(1).Cells(ZZeile + 1, ZSpalte).Resize(QZeilen, QSpalten).Value = ActiveWorkbook.Worksheets(QT).Range(Q).Value 'Werte aus Quelldatei übernehmen 
21.
        ActiveWorkbook.Close False 
22.
        ZSpalte = ZSpalte + QSpalten 'Spaltennummer der Zieldatei für nächsten Block erhöhen 
23.
    End If 
24.
Next 
25.
 
26.
wbGes.Worksheets(1).Activate 
27.
wbGes.Save 
28.
MsgBox "Fertig." 
29.
End Sub
Alternativ zur Angabe des Blattnamens (Variable QT) kannst Du (wie im verlinkten Beitrag) in Zeile 20 auch einfach 1 (für erstes Blatt der Mappe) verwenden ...

Grüße
bastla
Bitte warten ..
Mitglied: paterpen
24.10.2012, aktualisiert 25.10.2012
Ersteinmal vielen Dank für die schnelle Antwort. Ich hatte es garnicht erwartet so schnell eine Antwort zu bekommen. Ich war leider gestern den ganzen Tag verhindert, sodass ich erst heute antworten kann.

Das Makro funktioniert! Nach 1h tüfteln hab ich heraus gefunden, dass ich in Zeile 17 statt "xlsx", "xls" eingeben muss. So simple...
Vielen vielen Dank. Wenn ich überlegt, wie lange ich an dem Makro saß (ca 25h) und Bastla mir innerhalb von 2h die Lösung gibt :D Respekt.

Meine Frage ist damit beantwortet, aber ich hätte noch zwei Folgefragen:

1. Ich habe jetzt meine Excel erweitert um ein Objekt, das bei Bestätigung das Makro ausführt + Format der kopierten Daten anpasst. Aber ich weiß nicht, wie ich das Format auf nur die kopierten Tabellen/Daten bezieh?

Meine Idee (keine schöne Lösung) wäre es das Format auf einen riesigen Bereich zu übertragen per Makro, aber jetzt müsste ich Spalten ausblenden lassen in Abhängigkeit von den Dateien die ich einlese, damit es schöner aussieht.
ungefähr so:

b = 200

Worksheets("Tabelle1").Columns(Zspalte & ":" & b).Select
Selection.EntireRow.Hidden = True



2. Das Marko gibt ja automatisch den Namen der jeweiligen Datei aus. Kann ich gleichzeitig auch noch den Hyperlink dazufügen lassen???


Vielen Dank im Voraus

lg paterpen
Bitte warten ..
Mitglied: paterpen
05.11.2012 um 10:19 Uhr
Schade, dass mir keiner mehr antwortet. Ist meine Frage quasi geschlossen, da ich die Lösung habe??????

Ich würde gern noch wissen, ob ich auch gleichzeitig mit den Werten das Format übertragen kann.


Lg

Paterpen
Bitte warten ..
Mitglied: bastla
05.11.2012 um 16:41 Uhr
Hallo paterpen!

Jeweils E38:G57 zu kopieren, sollte etwa so gehen:
01.
Sub Zusammenfassen() 
02.
sQuellpfad = "D:\Test" 
03.
 
04.
QT = "Deckblatt" 'Tabellenname in der Quelldatei 
05.
Q = "E38:G57" 'Quellbereich 
06.
ZAbSpalte = 1 'ab dieser Spalte Daten in Sammeldatei schreiben 
07.
ZZeile = 3 'ab dieser Zeile Daten in Sammeldatei schreiben 
08.
 
09.
Set wbGes = ActiveWorkbook 
10.
Set fso = CreateObject("Scripting.FileSystemObject") 
11.
 
12.
QSpalten = Range(Q).Columns.Count 'Spaltenanzahl des Quellbereichs ermitteln 
13.
QZeilen = Range(Q).Rows.Count 'Zeilenanzahl des Quellbereichst ermitteln 
14.
ZSpalte = ZAbSpalte 'Spaltennummer vorbelegen 
15.
 
16.
For Each oFile In fso.GetFolder(sQuellpfad).Files 
17.
    If LCase(fso.GetExtensionName(oFile.Name)) = "xlsx" Then 
18.
        Application.Workbooks.Open oFile.Path 
19.
        wbGes.Worksheets(1).Cells(ZZeile, ZSpalte).Value = fso.GetBaseName(ActiveWorkbook.Name) 'Dateinamen der Quelldatei eintragen 
20.
        ActiveWorkbook.Worksheets(QT).Range(Q).Copy  wbGes.Worksheets(1).Cells(ZZeile + 1, ZSpalte)'Zellen aus Quelldatei kopieren 
21.
        ActiveWorkbook.Close False 
22.
        ZSpalte = ZSpalte + QSpalten 'Spaltennummer der Zieldatei für nächsten Block erhöhen 
23.
    End If 
24.
Next 
25.
 
26.
wbGes.Worksheets(1).Activate 
27.
wbGes.Save 
28.
MsgBox "Fertig." 
29.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: paterpen
06.11.2012 um 08:36 Uhr
Hallo Bastla,

erstmal danke für die Antwort. Ich habe es doch hinbekommen, aber ein bisschen anders. Wobei eigentlich ist es des gleiche^^

ab Zeile 20:

ActiveWorkbook.Worksheets(QT).Range(Q).Copy
wbGes.Worksheets(1).Cells(ZZeile + 1, Zspalte).Resize(QZeilen, QSpalten).PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False


und zu meiner anderen Frage (Spalten ausblenden, wenn sie leer sind), ist das hier die Lösung:

Dim rngZelle As Range
For Each rngZelle In Range("E20:IG20")
rngZelle.EntireColumn.Hidden = rngZelle = ""
Next rngZelle



- Hättest du auch eine Lösung zu dem Hyperlink Problem?
d.h. dem Dateinamen automatisch auch den Hyperlink zuweisen.

Vielen Dank im Voraus

Lg Paterpen
Bitte warten ..
Mitglied: bastla
06.11.2012 um 11:22 Uhr
Hallo paterpen!

Schon mal versucht, den entsprechenden Code über das Aufzeichnen eines Makros zu finden (abgesehen davon, dass mit dem Stichwort "Hyperlink" auch die Online-Hilfe Brauchbares liefern sollte)?

Grundsätzlich könnte das dann etwa so aussehen:
01.
wbGes.Worksheets(1).Hyperlinks.Add wbGes.Worksheets(1).Cells(ZZeile, ZSpalte), oFile.Path, , ,fso.GetBaseName(ActiveWorkbook.Name)
Grüße
bastla
Bitte warten ..
Mitglied: paterpen
07.11.2012 um 08:21 Uhr
Hallo bastla,

vielen Dank erstmal. Das Makro funktioniert super. Es ist mittlerweile ziemlich kompliziert, da noch mehr Sachen dazu gekommen sind, die ich hier nicht gefragt habe :D

Ich versuch immer als erstes über Aufzeichnen alles zu lösen bzw. so die Befehle heraus zu finden. Dann such ich im Internet nach Lösungen und versuch diese auf mein Problem zu übertragen. Und dann poste ich erst hier :D

Meistens fehlt mir nur der richtige Befehl bzw. ich habe kleine Fehler.

Beim Aufzeichnen ist auch immer das Problem, dass ich so eine Lösung hinbekomme, diese aber nicht für anderen Dateien/Anwendungen übertragbar sind und ich dann das Makro erstmal "verallgemeinern" muss.
Naja...

Nochmal vielen Dank für die gute Unterstützung.

lg
paterpen
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Excel Daten automatisch in mehrere Exceldateien exportieren

gelöst Frage von paggo69Microsoft Office9 Kommentare

Hallo Allerseits, ich habe im Moment eine ganz simple Aufgabe und frage mich ob ich das durch eine automatisierte ...

Microsoft Office

Excel - Zellen aus anderen Exceldateien auslesen

gelöst Frage von Cubic83Microsoft Office10 Kommentare

Hallo, ich stecke mal wieder bei einem Excel Problem fest und hoffe ihr könnt mir helfen. Ich habe in ...

Microsoft Office

Einzelne Zellen einer Exceldatei automatisch in eine andere kopieren

gelöst Frage von BerndVorwerkMicrosoft Office2 Kommentare

Hallo an alle, ich habe ein Problem, bei dem ihr mir hoffentlich helfen könnt. Es existiert bei uns eine ...

Microsoft Office

Excel 2013: Kommentare verschwinden in freigegebenen Exceldateien

Frage von netifyMicrosoft Office1 Kommentar

Hallo zusammen, wir haben ein seltsames Verhalten von Excel 2013 festgestellt, vielleicht kennt das Problem ja jemand und hat ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 15 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 18 StundenAdministrator.de Feedback14 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...