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, 8139 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
CPU, RAM, Mainboards
Neverending story
Tipp von keine-ahnung vor 10 StundenCPU, RAM, Mainboards1 Kommentar

Da kommt man mit dem fixen gar nicht mehr hinterher und die CPU erreichen wieder Rechenleistungen im Bereich des ...

Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 2 TagenMultimedia & Zubehör4 Kommentare

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Windows Server

Windows Server Backup schlägt fehl - Lösung 2008-2016

Tipp von BiGnoob vor 2 TagenWindows Server

Hi zusammen , ich möchte gerne einen Lösungstipp abgeben für folgenden Fehler: Lösung ist folgende:

Humor (lol)
Telekom vs. O2 - 3:2
Erfahrungsbericht von the-buccaneer vor 2 TagenHumor (lol)4 Kommentare

Unglaublich aber wahr: Nachdem mein privater Anschluss am 19.04.18 auf VOIP und VDSL umgestellt wurde, hatte ich seitdem 1,5 ...

Heiß diskutierte Inhalte
PHP
Nach Umzug zu 1und1 bekomme ich beim Eintrag in die DB Tabelle folgenden Fehler
gelöst Frage von jensgebkenPHP35 Kommentare

INSERT command denied to user 'dbo45342345342231244'@'112.127.102.073' for table 'orders'

Rechtliche Fragen
DSGVO - Impressum und Datenschutz auf Anmeldeseiten notwendig?
Frage von StefanKittelRechtliche Fragen15 Kommentare

Hallo, was mit gerade eingefallen ist. Muss man auf Anmeldeseiten auch ein Impressum und Datenschutzhinweis haben? Auch hier wird ...

Windows Userverwaltung
Problem mit Benutzerprofil
Frage von lieferscheinWindows Userverwaltung12 Kommentare

Guten Tag liebe Community, folgendes Problem habe ich: User meldet sich auf Client A an - sein Homelaufwerk verbindet. ...

Windows Server
2003er RDS Server lässt alten ThinClient nach Updates nicht mehr anmelden
Frage von KnorkatorWindows Server9 Kommentare

Hallo zusammen, wir hatten die Aufgabe, ein System (keine Domänenanbindung) zu virtualisieren welches mehrere Jahre keine Updates gesehen hat. ...