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

gelöst Aus einer Excel-Datei pro Teilbestand eigene Exceldateien erzeugen

Mitglied: delcour

delcour (Level 1) - Jetzt verbinden

21.08.2007, aktualisiert 22.08.2007, 8215 Aufrufe, 4 Kommentare

Eine Exceldatei mit einer Tabelle soll zu nach Feldinhalt einer bestimmten Spalte Teiltabellen inklusive Überschrift erzeugen und diese Teiltabellen als separate Exceldateien speichern, wobei im Dateinamen der Feldwert enthalten ist.

Hallo!

Mir liegt eine Exceldatei mit einer Tabelle vor. Die Spalten gehen von A bis BN, die Zeilen bis ca. 4500. Die oberste Zeile enthält die Überschriften. Die Überschrift der Spalte F lautet "Merkmal". Es gibt ca. 70 verschiedene Ausprägungen für "Merkmal" (z.B. 300, 2100, 2500 ...).

Von Hand würde ich jetzt pro Ausprägung für "Merkmal" den Autofilter bemühen, den jeweiligen Teilbestand inklusive Überschrift kopieren, eine neue leeren Exceldatei erzeugen, dort hinein den in der Zwischenablage kopierten Tabellenteil hineinkopieren und die neue Tabelle dann abspeichern mit dem Dateinamen "Serienbrief_" + Merkmalsausprägung + ".xls" (also Serienbrief_0300.xls, Serienbrief_2100.xls usw.).

Diese Art von Arbeit habe ich ein bis zweimal pro Jahr zu erledigen.

Hinsichtlich der Dateiformate habe ich keine Wahl. Es muss Excel sein. Mit Mitteln jenseits von Excel einzelne CSV-Dateien zu erzeugen, wäre für mich kein Problem. Aber ich bin in diesem Fall gebunden.

Die Ausgangstabelle ist schon nach "Merkmal" sortiert. Sofern von den neuen Tabellen bereits welche mit gleichem Dateinamen bestehen sollen diese entweder überschrieben werden oder kann die ganze Aktion mit einer Fehlermeldung abbrechen.

Gibt es eine halbwegs einfache Lösung, das einigermaßen elegant und vor allem automatisiert in einem Rutsch hinzubekommen? Wenn ja, wie ungefähr?

Vielen Dank!

Gruß

Delcour
Mitglied: Cthluhu
21.08.2007 um 17:17 Uhr
Hallo,

Falls du JAVA programmieren kannst, würde ich dir folgendes empfehlen:
1
Das ist eine API um auf Excel Dateien zugreifen zu können.

HTH
Bitte warten ..
Mitglied: miniversum
21.08.2007 um 20:11 Uhr
So auf die Schnelle und ohne richtig ausprobiert zu haben würd ichs so in etwa in vba machen:
01.
Sub Copy2newfile() 
02.
    zeile = 2 
03.
    Do 
04.
        ' Bereich kopieren 
05.
        altezeile = zeile + 1 
06.
        zeile = zeile + 1 
07.
        Merkmal = Range("F" & zeile).Value 
08.
        Do While Range("F" & zeile).Value = Merkmal 
09.
            zeile = zeile + 1 
10.
        Loop 
11.
        zeile = zeile - 1 
12.
        Range("A" & altezeile & ":BN" & zeile).Copy 
13.
         
14.
        ' In neue Datei einfügen 
15.
        Workbooks.Add 
16.
        ActiveSheet.Paste 
17.
         
18.
        'Speichern udn schliessen 
19.
        ActiveWorkbook.SaveAs Filename:= _ 
20.
            "D:\Serienbrief_" & Merkmal & ".xls", _ 
21.
            FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ 
22.
            ReadOnlyRecommended:=False, CreateBackup:=False 
23.
        ActiveWindow.Close 
24.
    Loop While Range("F" & zeile + 1).Value <> "" 
25.
End Sub
miniversum
Bitte warten ..
Mitglied: bastla
21.08.2007 um 20:40 Uhr
@miniversum

Schaut gut aus , allerdings soll die Zeile 1 mit den Überschriften auch mit, daher:
01.
Sub Copy2newfile() 
02.
    zeile = 2 
03.
    aKopf = Range("A1:BN1") 
04.
    Do 
05.
        ' Bereich kopieren 
06.
        altezeile = zeile + 1 
07.
        zeile = zeile + 1 
08.
        Merkmal = Range("F" & zeile).Value 
09.
        Do While Range("F" & zeile).Value = Merkmal 
10.
            zeile = zeile + 1 
11.
        Loop 
12.
        zeile = zeile - 1 
13.
        Range("A" & altezeile & ":BN" & zeile).Copy 
14.
         
15.
        ' In neue Datei einfügen 
16.
        Workbooks.Add 
17.
        ActiveSheet.Range("A1:BN1") = aKopf 
18.
        ActiveSheet.Range("A2").Select 
19.
        ActiveSheet.Paste 
20.
         
21.
        'Speichern und schließen 
22.
        ActiveWorkbook.SaveAs "D:\Serienbrief_" & Merkmal & ".xls" 
23.
        ActiveWindow.Close 
24.
    Loop While Range("F" & zeile + 1).Value <> "" 
25.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: delcour
22.08.2007 um 10:23 Uhr
Vielen Dank an Euch!

Mit dem letzten Excelcode hat es hervorragend gekappt. Allerdings fehlt bei der ersten Ausgabedatei die erste Datenzeile (während die geprüfte 2. sowie die letze Ausgabedatei pasen). Mit

zeile = 1

am Anfang wird auch die erste Ausgabedatei richtig, ohne dass es zu verschiebungen bei den folgenden Dateien kommt.

Gruß

Delcour
Bitte warten ..
Ähnliche Inhalte
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 ...

Windows Systemdateien

Bootable iso Datei mit eigenen Datein erzeugen

Frage von lord-iconWindows Systemdateien10 Kommentare

Moin, ich brauch ne ISO Datei die Bootable ist. (DAS ist einfach) Nur brauche ich innerhalb dieser Datei noch ...

Batch & Shell

PDF Datei erzeugen über Kommandozeile

gelöst Frage von Xaero1982Batch & Shell6 Kommentare

Moin Zusammen, ich erstelle mithilfe einer kleinen PHP Datei eine HTML Datei. Diese soll anschließend in eine PDF Datei ...

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
Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 17 StundenHumor (lol)1 Kommentar

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 19 StundenExchange Server6 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 1 TagErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 2 TagenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Heiß diskutierte Inhalte
Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server48 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS16 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...

Windows Server
Windows Server per Web auf Daten zugreifen und verwalten
Frage von matze2090Windows Server16 Kommentare

Hallo, ich würde gerne von außen auf meinem Windows Server zugreifen um auf meine Daten zu verwalten. Meine frage ...