Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei aufteilen nach Werten in Spalte F

Datei aufteilen nach Werten in Spalte F
22.08.2016 16:18:38
Leonida
Liebe Leser,
ich habe eine Excel-Tabelle mit Daten im ersten Tabellenblatt (die Datei hat mehrere Blätter) von A1:V507, die ich gerne durch einen Autofilter in Spalte F nach den Werten, die sich dort befinden, in einzelne Dateien splitten würde.
Das Tabellenblatt "Gesamtübersicht" besteht aus Datensätzen von Mitarbeitern und in Spalte F befindet sich die Führungskraft. Diese sollen den einzelnen Führungskräften geschickt werden.
Das an sich würde ich noch selbst hinbekommen, allerdings gibt es noch einige Schwierigkeiten in dieser Datei. Die Datensätze befinden sich in A1:V480 und von A481:V507 befindet sich eine zusätzliche Tabelle mit Formeln, die in jeder gesplitteten Datei vorhanden sein muss.
1. Die Spalten Q:V sollen komplett ausgeblendet werden, sich aber noch in den neuen Dateien befinden, da dort nicht sichtbare Formeln hinterlegt sein sollen. Dasselbe gilt für die Zeilen 482:494 und 496:507.
2. Die Liste wird nach den Führungskräften, also Werten in Spalte F, aufgeteilt, wobei sich zusätzlich der Bereich A481:V507 in jeder Datei befinden muss.
3. Alle Zellen außer K4:N(Zähle die Zeilen) sollen mit einem Passwort gesperrt sein.
4. Die Dateien sollen unter dem gleichen Pfad & "/" & "FK Tools" unter dem Namen der jeweiligen Führungskraft gespeichert werden.
Für einen VBA-Anfänger wie mich sind das leider zu viele Hürden. Ist es möglich einen so speziellen Code zu programmieren?
Ich freue mich über jede Hilfe.
Grüße
Leonida
P.S.: Hier ist eine Beispiel-Datei, wie meine Datei aussieht.
https://www.herber.de/bbs/user/107774.xlsx

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: so wie ich es momentan sehe, ...
22.08.2016 16:30:06
...
Hallo Leonida,
... scheint Deine Aufgabe keine zu sein, die Du öfters wiederholend zu einem späteren Zeitpunkt tun musst. Einmalig musst Du wohl einmalig mehrere Dateien so aufbauen. Das könntest Du dann mE auch ohne VBA tun.
Du erstellst Dir eine Vorlagedatei aus Deiner aktuellen. In dieser löschst Du die Daten und mittels Autofilter und händischen Kopieren der derzeitigen Daten in die Vorlagedatei solltest Du auch zum angestrebten Ergebnis gelangen. Musst Du halt nur ein paar Mal tun.
Gruß Werner
.. , - ...
AW: so wie ich es momentan sehe, ...
23.08.2016 08:34:55
Leonida
Hallo Werner,
diese Aufgabe muss jedes Jahr gemacht werden und außerdem nicht von mir selbst. Da die Datei sehr groß ist und wir sehr viele Führungskräfte haben, wurde ich um die Optimierung dieses Prozesses gebeten...
Trotzdem danke für deinen Rat.
Gruß Leonida
Anzeige
AW: so wie ich es momentan sehe, ...
23.08.2016 16:18:09
Leonida
Nochmal hallo liebe Leser,
da ich keine Antwort bekommen habe, die mein Problem wirklich löst, habe ich mich mit meinen geringen Kenntnissen selbst dran gesetzt und einen Code geschrieben.

Sub LB_Liste_splitten2()
Dim line As Long
Dim lng As Long
Dim lz As Long
Dim v As Object
Dim D As Object
Dim wb As Workbook
Application.ScreenUpdating = False
Set D = CreateObject("scripting.dictionary")
lz = Cells(Rows.Count, 6).End(xlUp).Row
With Tabelle1
For Each v In Range("F4:F" & lz).Offset(1).Value
If v  "" Then D(v) = 0
Next
For Each v In D.Keys
Set wb = Workbooks.Add(xlWBATWorksheet)
lng = Cells(Rows.Count, 10).End(xlUp).Row
Sheets("Gesamtübersicht").Range("A1:P" & lng).Copy
wb.Worksheets(1).Cells(1).PasteSpecial Paste:=xlPasteAll
wb.Worksheets(1).Cells(1).PasteSpecial Paste:=xlPasteColumnWidths
wb.Worksheets(1).Cells(1).PasteSpecial Paste:=xlPasteFormulas
With wb.Sheets(1)
line = Cells(Rows.Count, 1).End(xlUp).Row
.Range("A4:P" & line).AutoFilter 6, v
If .Range("F4:F" & lz).Cells.Value  v Then _
EntireRow.Delete
.Range("K2:N" & line).Locked = False
.Protect "Era"
.AutoFilter
End With
wb.SaveAs ActiveWorksheet.Parent.Parent.Path & "\FK Tools" & "\" & v & ".xlsx",  _
xlOpenXMLWorkbook
wb.Close False
Next
End With
MsgBox "Finished!"
End Sub
Da ich wirklich wenig Ahnung von VBA und Programmierung habe, kann ich nicht einschätzen, inwiefern mich dieser Code zum Ziel bringt. Ich würde es ja einfach ausprobieren, allerdings läuft der Code nicht durch und zeigt die Fehlermeldung "Laufzeitfehler '424': Objekt erforderlich" und zeigt mir die folgende Zeile gelb hinterlegt an:

For Each v In Range("F4:F" & lz).Offset(1).Value
Könnte mir jetzt eventuell jemand weiterhelfen? Ich wäre über jede Antwort dankbar.
Grüße Leonida
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige