Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
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

Fehler beim autoausfüllen im Kalender

Fehler beim autoausfüllen im Kalender
07.10.2013 18:41:54
Ha-Pe
Hallo Excelfreunde
Ich habe mir einen Urlaubsplaner gebastelt.
Die Formeln, Formatierungen und Codes habe ich hier im Archiv und anderen Excelseiten gefunden und eingebaut.
Der Planer ist zwar noch nicht fertig, aber das bis hier geschafte habe ich trotz der geringen Excel-Kenntnisse denke ich gut hinbekommen.
Nun zu meinen Projekten, die ich nicht hinbekomme.
Ich habe vier Tabellenblätter, Urlaub/Monat/Jahr/Personal.
Das Blatt Urlaub funktioniert soweit.
Bei den Blättern Monat und Jahr sollen Spalten, wenn kein Sachaltjahr ist, ausgeblendet werden. Das Klappt durch VBA-Code auch, wenn ich die dem entsprechende Zelle (A1) manuell ändere. Nun bekomme ich es aber nicht hin, das es nicht automatisch geht. VBA= 0 Kenntnisse!
Den Code den ich gefunden habe ist für das Blatt Monat so
Private Sub Worksheet_Change(ByVal Target As Range) ' Ist die Aktion überhaupt nötig (Änderung in "A1") ? If Target.Address = "$A$1" Then ' Nimm den Wert des geänderten Bereiches Select Case Target.Value ' Vergleiche mit ZAHL, nicht String Case 1 ' Blende Spalten aus Columns("AD:AF").EntireColumn.Hidden = True Case 2 ' Blende Spalten ein Columns("AD:AF").EntireColumn.Hidden = False End Select End If End Sub der Code für das Blatt Jahr ist bis auf die Spalte-Zuweisung der gleiche
Ein Weiteres Problem ist, dass die Formeln im Blatt Monat, welche im Blatt Urlaub entnommen Daten (Grund) richtig anzeigt werden. Doch im Blatt Jahr, was ja in meinen Augen identisch ist (gleiche Formeln), nur den Januar und zwei tage im Februar richtig anzeigen. Der Rest wird mit #NV wiedergegeben. Ich komme aber selbst nicht dahinter was da falsch sein könnte.
Hier habe ich die Beispielmappe dazu
https://www.herber.de/bbs/user/87568.xlsm
Vor etwa 7 Jahren wurde mir hier im Forum sehr gut geholfen. Nun hoffe ich, dass ich mein Problem ausreichend verständlich erklärt habe, und mir ein weiteres mal geholfen werden kann.
freundliche Grüße
Ha-Pe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim autoausfüllen im Kalender
07.10.2013 23:51:12
fcs
Hallo Ha-Pe,
Formelproblem in Blatt "Jahr"
in den Formel gibt es noch Verweise auf Zellen in Blatt Monat Zeile 4
z.B. in Zelle B: Anfang&lt=Monat!B$4
Diese Verweise müssen weg. Je nachdem welchen Monat du im Blatt "Monat" wähltst stimmen dann ggf. im Blatt "Jahr" die Daten dieses Monats.
Beispiel für korrigierte Formel in Zelle B6, die du dann in alle anderen Zellen kopieren kannst:
Jahr

 AB
4 01
5NameMi
6MeierU

Formeln der Tabelle
ZelleFormel
B4=DATUM(B1;1;1)
B5=WENN(B4;WOCHENTAG(B4); "")
A6=Urlaub!N4
B6{=WENN(B$4="";"";WENN(UND(ODER(WOCHENTAG(B$4;2)<6;BEREICH.VERSCHIEBEN(Urlaub!$L$21;WOCHENTAG(B$4;2)-6;0)="Ja"); ODER(ISTNV(VERGLEICH(B$4;Feiertage;FALSCH)); Urlaub!$L$23="Ja"); SUMMENPRODUKT((Name=$A6)*(Anfang<=B$4)*(Ende>=B$4))>0); INDEX(Grund;VERGLEICH(1;(Name=$A6)*(Anfang<=B$4)*(Ende>=B$4); 0)); ""))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen
Namen in Formeln
ZelleNameBezieht sich auf
B6Anfang=Urlaub!$B$4:$B$99
B6Ende=Urlaub!$C$4:$C$99
B6Feiertage=Urlaub!$F$4:$F$35
B6Grund=Urlaub!$D$4:$D$99
B6Name=Urlaub!$A$4:$A$99

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
B51. / Formel ist =WOCHENTAG(B$5;2)>5Abc
B61. / TextzeichenfolgeAbc
B62. / TextzeichenfolgeAbc
B63. / TextzeichenfolgeAbc


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Automatik der Makros abschalten:
Lösche die beiden Makros oder benenne Sie um.
Entsprechende manuell zu startende Makros, die die Spalten für den 29. Feb. im Blatt "Jahr" sowie im Blatt "Monat" soweit zutreffend den 29 bis 31 Tag aus-/einblenden sehen dann wie folgt aus:
Sub JahrFeb29EinAUS()
With Worksheets("Jahr")
.Range("BI:BI").EntireColumn.Hidden = Month(.Range("BH4"))  Month(.Range("BI4"))
End With
End Sub
Sub MonatEinAusblenden()
With Worksheets("Monat")
.Range("AD:AD").EntireColumn.Hidden = Month(.Range("AC4"))  Month(.Range("AD4"))
.Range("AE:AE").EntireColumn.Hidden = Month(.Range("AC4"))  Month(.Range("AE4"))
.Range("AF:AF").EntireColumn.Hidden = Month(.Range("AC4"))  Month(.Range("AF4"))
End With
End Sub
Sub Monat29bis31Einblenden()
With Worksheets("Monat")
.Range("AD:AF").EntireColumn.Hidden = False
End With
End Sub

Diese 3 Makros kopierst du in das Modul1 deiner Datei.
mfg
Franz

Anzeige
AW: Fehler beim autoausfüllen im Kalender
08.10.2013 11:27:18
Ha-Pe
Guten Morgen Franz
Danke für deine schnelle Hilfe!
Deine Formel klappt wunderbar. Es lag an dem Verweis auf das Monatsblatt.
Habe dann die Makros ins Modul1 kopiert, wie du es vorgeschlagen hast. Aber es funktionierte nicht.
So sieht der Code jetzt im Modul1 aus
Sub DrehfeldJahreszahl()
End Sub

Sub JahrFeb29EinAUS()
With Worksheets("Jahr")
.Range("BI:BI").EntireColumn.Hidden = Month(.Range("BH4"))  Month(.Range("BI4"))
End With
End Sub

Sub MonatEinAusblenden()
With Worksheets("Monat")
.Range("AD:AD").EntireColumn.Hidden = Month(.Range("AC4"))  Month(.Range("AD4"))
.Range("AE:AE").EntireColumn.Hidden = Month(.Range("AC4"))  Month(.Range("AE4"))
.Range("AF:AF").EntireColumn.Hidden = Month(.Range("AC4"))  Month(.Range("AF4"))
End With
End Sub

Sub Monat29bis31Einblenden()
With Worksheets("Monat")
.Range("AD:AF").EntireColumn.Hidden = False
End With
End Sub

Da habe ich festgestellt, dass ich mich falsch ausgedrückt habe bzw. dass ich das Wort (nicht) zuviel geschrieben habe.
"Bei den Blättern Monat und Jahr sollen Spalten, wenn kein Sachaltjahr ist, ausgeblendet werden. Das Klappt durch VBA-Code auch, wenn ich die dem entsprechende Zelle (A1) manuell ändere. Nun bekomme ich es aber nicht hin, das es nicht automatisch geht. VBA= 0 Kenntnisse!"
Anders erklärt;
Ich möchte erreichen, dass die Spalten der jeweiligen Blätter (Blatt Monat Spalten AD bis AF, Blatt Jahr Spalte BI) bei einem Nicht-Schaltjahr ausgeblendet werden und bei einem Schaltjahr eingeblendet bleiben.
Mein Versuch war es, dass ich das Schaltjahr im Blatt Urlaub berechnen lasse und mir das Ergebnis mit 1 für ein Schaltjahr und 2 für ein nicht-Schaltjahr ausgibt.
Dieses Ergebnis habe ich dann in den beiden Blättern Monat und Jahr in A1 mit =Urlaub!U4 anzeigen lassen.
Dann sollte das Makro, welches ich benutze automatisch die Spalten ein- bzw. ausblenden. Dies wurde aber durch mein benutztes Makro nicht gemacht. Gemacht hat es das Makro nur, wenn ich die 1 bzw. 2 händisch eingegeben habe und dann "Enter"te
Hoffe das ich mein Problem jetzt verständlicher beschrieben habe.
freundliche Grüße
Ha-Pe

Anzeige
AW: Fehler beim autoausfüllen im Kalender
08.10.2013 13:15:15
fcs
Hallo Ha-Pe,
die von mir erstellten Makros blenden die entsprechenden Spalten ein bzw. aus.
Um den Automatismus herzustellen muss du sie mit deinen Spinbuttons koppeln.
Dazu im Blatt "Monat" mit Rechte-Maus-Klick den Monats-Spinbutton selektieren und dann via Makro zuweisen das Makro "MonatEinAusblenden" zuweisen.
Das gleiche machst du mit dem Jahr-Spinbutton und dem Makro "JahrFeb29EinAUS".
Gruß
Franz

AW: Fehler beim autoausfüllen im Kalender
08.10.2013 14:21:01
Ha-Pe
Hallo Franz
Deine Makros funktionieren super mit der Zuweisung zu den Spinbuttons.
Vielen vielen Dank für die super Hilfe.
Eine kleine Frage zu den Zuweisungen für die Spinbutton habe ich noch:
Kann man mehrere Makros einen Spinbutton zuweisen?
Die Frage stellt sich mir, da man nur ein Makro bei der Zuweisungsauswahl, wie du mir in meinem Fall beschrieben hast, auswählen kann.
Freundliche Grüße
Ha-Pe

Anzeige
AW: Fehler beim autoausfüllen im Kalender
08.10.2013 14:50:02
fcs
Hallo Ha-Pe,
zuweisen kannst du nur ein Makro.
Du kannst aber mit diesem Makro dann mehrere andere Makros nacheinander starten.
Beispiel:
Sub SpinButton_Makro()
Call Makro_Nr_1
Call Makro_Nr_2
End Sub
Sub Makro_Nr_1()
'Aktion Nr 1
End Sub
Sub Makro_Nr_2()
'Aktion Nr 2
End Sub
mfg
Franz

AW: Fehler beim autoausfüllen im Kalender
08.10.2013 15:20:54
Ha-Pe
Hallo Franz
Danke für die Erklärung zu den Spinbuttons.
Ein GROßES Dankeschön für deine gesamte Hilfe!
Wünsche Dir und all denen die Hilfe leisten noch eine schöne Zeit.
Freundliche Grüße
Ha-Pe

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige