Clever-Excel-Forum

Normale Version: Warum gehen die Kopf- und Fußzeilen einer freigegebenen Datei verloren?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

an meinem erstellten Abwesenheitsplaner gehen die Kopf- und Fußzeilen verloren. Die Datei hat ca. 12 Arbeitsblätter. Die Datei ist für das Simultan Arbeiten der 17 Kollegen freigegeben. 

Ich muss alle zwei Tage die Kopf- und Fußzeilen neu eingeben.

Was könnte die Ursache sein? Vielen Dank...
Hallo,

ich hab die wahrscheinlichsten Ursachen mal Fett-gemacht:
Tomm schrieb:ca. 12 Arbeitsblätter. Die Datei ist für das Simultan Arbeiten der 17 Kollegen

Du umgehst die Probleme, in dem Du Datenerfassung, Datenspeicherung /-Verarbeitung und Datenausgabe trennst (dass sind dann maximal drei Blätter). Wenn du die Datenspeicherung dann noch externalisierst und den simultanzugriff durch pessimistische Sperren der Datenbasis absicherst (ADO / ADOX), solltest du relativ sicher sein.

Viele Grüße
derHöpp
(12.10.2022, 10:56)derHoepp schrieb: [ -> ]Hallo,

Du umgehst die Probleme, in dem Du Datenerfassung, Datenspeicherung /-Verarbeitung und Datenausgabe trennst (dass sind dann maximal drei Blätter). Wenn du die Datenspeicherung dann noch externalisierst und den simultanzugriff durch pessimistische Sperren der Datenbasis absicherst (ADO / ADOX), solltest du relativ sicher sein.

Viele Grüße
derHöpp

Vielen Dank, wie erstelle ich deine Beschreibung?  17
Hallöchen,

- kannst Du das eventuell eingrenzen auf den oder die Kollegen, die da zuletzt gespeichert haben?
- ist wirklich eine Simultanbearbeitung von 17 Kollegen erforderlich? Bei Abwesenheiten ändert sich ja nicht so schnell was ...
- übrigens dürfen datenschutzmäßig eigentlich auch nicht alle Kollegen alle Abwesenheitsgründe der anderen sehen ...

Ich hatte auch mal die Aufgabe, so was zu entwickeln und zu betreuen. Da hatte ich ein Blatt zur Eingabe / Ausgabe und die Daten sollten unbedingt auf 12 Monatsblätter verteilt werden ...
Die 12 Monate hätte man auch auf einem Blatt unterbringen können, Monate dann filtern, ... Aber so ist das zuweilen Sad

Zitat:Du umgehst die Probleme, in dem Du Datenerfassung, Datenspeicherung /-Verarbeitung und Datenausgabe trennst (dass sind dann maximal drei Blätter)
Ich befürchte, das wird nicht reichen, sollten alle Kopf- und Fußzeilen weg sein ... Zudem ist es nur mit Trennen dann eher nicht getan, da müsste sicher auch noch etwas Code dazu.
Hallo André,

Zitat:Ich befürchte, das wird nicht reichen, sollten alle Kopf- und Fußzeilen weg sein ... Zudem ist es nur mit Trennen dann eher nicht getan, da müsste sicher auch noch etwas Code dazu.
Natürlich wird das ohne Code nichts werden. Ich weiß, ich bin hier noch etwas unbekannt, aber ich bin verfechter von ordentlicher Datenhaltung, weil das Nachbauen von Papier in Excel - wie hier - erfahrungsgemäß mehr Probleme bereitet, als dass es Erleichterungen zur Erfassung bringt. Es braucht halt einiges an Erfahrung, bis sich die Einsicht einstellt. Gerade beim Zusammenarbeiten in einer Datei mit 12 Blättern (vermutlich Monate) lohnt es sich meines Erachtens nach, ein ordentliches Datenmodell und darauf aufsetzend eine einigermaßen robuste Anwendung zu entwickeln. Ich persönlich würde dabei auch eher auf eine Accesslösung wechseln, das vereinfacht die Regelung des Datenzugriffs auf das Backend.

Weil Anwesenheitsplanung und Schichtplanung nichts ist, was im betrieblichen Alltag irgendwie besonders wäre, lohnt es sich dabei aber meistens, auf eine fertige Lösung zu setzen.

@Tommiks:
Die tatsächliche Ursache für die fehlenden Kopf- und Fußzeilen lassen sich leider nicht erraten, weil es bei 17 Beteiligten die unterschiedlichen Einflussmöglichkeiten einfach zu groß sind. Wenn es dir hilft, könntest du jedoch mit einem Programm die Kopf- und Fußzeilen neu setzen, wenn sie mal wieder weg sind.

Der Umstieg auf meine vorgeschlagene Lösung der Trennung ist meiner Ansicht nach nichts, was sich ohne grundsätzliche Auseinandersetzung mit dem Datenmodell realisieren ließe.

Viele Grüße
derHöpp
Die 12 Arbeitsblätter sind die 12 Kostenstellen. Diese Kostenstellen haben drei Meister, drei Meistervertreter , etliche Schichtführer, dazu noch Stellvertretende Schichtführer, Bürofachkräfte usw.

Die Datei ist beinahe immer offen, wenn ich an der Datei arbeiten muss, kündige ich einen Tag davor an, und dann darf ich ein paar Stunden arbeiten, aber nur ein paar Stunden   Blush

Gibt es ein Makro für Fußzeilen und Kopfzeilen? Die Kopfzeile muss immer "Schichtplan Koststelle xxx" beinhalten. Wo die drei X´en stehen , stehen die Nummern der Kostenstellen.

Die Fußzeile ist etwas länger . In der Zeile stehen die Namen der Verantwortlichen (Meister, Stellvertreter, Schichtführer) der Kostenstelle ,ihre Telefonnummern und in der rechten Ecke das aktuelle Datum.
Natürlich hat jede Kostenstelle andere verantwortlichen. Die Kostenstellennummern stehen nicht als Arbeitsblattname.

Vielen Dank für Eure Unterstützungen....
Hi,

wenn du das nächste Mal die Kopf-/Fußzeilen neu eingibst, lässt du einfach den Makrorekorder mitlaufen. Das aufgezeichnete (und etwas überarbeitete) Makro legst du irgendwo bei dir in einer extra Datei ab und rufst es dann bei Bedarf auf.

Wenn du das Überarbeiten nicht selbst schaffst, dann kannst du es gerne hier einstellen. Dann kann man mal drüber schauen und optimieren.
z.B.

Code:
Private Sub Workbook_Open()
    Application.ScreenUpdating = False
    Application.PrintCommunication = False
    With Sheet1.PageSetup
        .LeftHeader = "Kopf links"
        .CenterHeader = "Kopf mitte"
        .RightHeader = "Kopf rechts"
        .LeftFooter = "Fuß links"
        .CenterFooter = "Fuß mitte"
        .RightFooter = "Fuß rechts"
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
    End With
    Application.PrintCommunication = True
End Sub
Wenn du deine anonymisierte Datei hochladest können wir die derHoepsche Vorschläge implementieren und zeigen wie das in Excel laufen könnte.
Ich habe die Makroaufzeichnung verwendet, und der folgende Code kam raus.

Die Buchstaben sind Arial ,Fett, und in Schriftgröße 12.


Ich habe den kürzesten Weg während der Aufzeichnung verfolgt. Trotzdem ist der Code sehr lang.

Code:
Sub Fusszeile615_627()
'
' Fusszeile615_627 Makro
'

'
    ActiveWindow.View = xlPageLayoutView
    Selection.Font.Bold = True
    Selection.Font.Size = 11
    Selection.Font.Size = 12
    Selection.Font.Bold = True
    Selection.Font.Size = 11
    Selection.Font.Size = 12
    Selection.Font.Bold = True
    Selection.Font.Size = 11
    Selection.Font.Size = 12
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = "&Z&""Arial,Fett""&12Scichtplan 615 / 627"
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = _
        "&Z&""Arial,Fett""&12Hr. Engling Tel.: 155    Hr. Köhler Tel.: 406   Schichtführer Tel.:  483"
        .RightFooter = "&""Arial,Fett""&12&D"
        .LeftMargin = Application.InchesToPoints(0)
        .RightMargin = Application.InchesToPoints(0)
        .TopMargin = Application.InchesToPoints(0.196850393700787)
        .BottomMargin = Application.InchesToPoints(0.196850393700787)
        .HeaderMargin = Application.InchesToPoints(0.118110236220472)
        .FooterMargin = Application.InchesToPoints(0.118110236220472)
        .Zoom = 90
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Application.PrintCommunication = True
End Sub

Ich habe drei Aufzeichnungen pro Arbeitsblatt aufgenommen. Alle wurden im Modul 1 aufgenommen. Ich weiß es nicht, ob das so richtig ist.
Hi,

eigentlich müsste das reichen:

Code:
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = "&Z&""Arial,Fett""&12Schichtplan 615 / 627"
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = _
        "&Z&""Arial,Fett""&12Hr. Engling Tel.: 155    Hr. Köhler Tel.: 406  Schichtführer Tel.:  483"
        .RightFooter = "&""Arial,Fett""&12&D"
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
    End With
Allerdings solltest du nach With statt ActiveSheet.PageSetup dein gewünschtes Blatt in Form von Workbooks("DeineDatei.xlsx").Worksheets(xx).PageSetup (wobei xx die Blattnummer als Zahl oder der Blattname als String ist) verwenden.
Seiten: 1 2