online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Knulli vom 24.02.2020, 14:49 Options

Spalte ausblenden

Hallo,
bräuchte mal Hilfe.
abe einen Urlaubsplaner mit 2 Halbjahren (Jan.-Juni + Juli-Dez.) erstellt. Für das Datum und die Tage habe ich die Formel =DATUM(B1;1;1)und dann +1 benutzt, wobei B1 die Zelle mit dem Jahr (2008) ist. Wenn ich das Jahr ändere, passt sich das Datum auch an, aber das erste Halbjahr geht bis 1.Juli und das 2 Halbjahr beginnt ganz normal mit 1.Juli, so das 2mal der 1 Juli da ist. Wie bekomme ich die Spalte mit dem 1. Juli im 1Halbjahr ausgeblendet, wenn kein Schaltjahr ist? Die Jahreszahl kann über ein Auswahlfeld gewählt werden.

Gruß Knulli


Antwort schreiben

Antwort 1 von Hajo_Zi vom 24.02.2020, 15:26 Options

Hallo Nick,

Wenn(Monat(A1+1)>6;"";A1+1)


Gruß hajo

Antwort 2 von Saarbauer vom 24.02.2020, 15:31 Options

Hallo,

in die entsprechende Zelle folgendes schreiben

=Wenn(hier Adresse der vorhergehenden Zelle=DATUM(B1;6;30) ; "";Adresse der vorhergehenden Zelle+1)

wäre eine Möglichkeit, sonst wären etwas genauere Erläuterungen sinnvoll

Gruß

Helmut

Antwort 3 von Knulli vom 24.02.2020, 23:36 Options

Hallo,
Danke für eure Antworten.
Mit einem Button (Drehfeld) kann ich die Jahreszahl ändern. Wenn ich auf 2009 ändere, steht dann in der letzten Spalte 1.Juli, weil es ja ein Tag weniger ist. In einer extra Spalt steht eine Formel, mit der die Urlaubstage ausgezählt werden.
Deshalb wollte ich die ganze Spalte ausblenden, da die Urlaubstage ja ausgezählt werden, und somit wenn ich nur das Datum ausblende, trotzdem die Spalte wo 1. Juli steht mitgezählt wird, wenn da Urlaub eingetragen wird.
Hatte an einen Code in VBA gedacht, so etwas wie Wenn Spalte GG = 1.Juli blende Spalte GG aus, sonst mache nichts. Habe aber mit VBA keine Erfahrung und bekomme es nicht hin, mit dem was ich so im Netz gefunden habe.

Danke und Gruß
Knulli

Antwort 4 von Saarbauer vom 25.02.2020, 07:28 Options

Hallo,

da wir deine VBA-Code nicht kennen, kann man auch nicht sagen wie dein Problem zu lösen ist.

Es müsste zumindest mit einer IF-Abfrage zu lösen sein, doch deren genauen Aufbau kann man so nicht sagen. Im Prinzip wie meine Wenn()-Abfrage

Gruß

Helmut

Antwort 5 von Knulli vom 25.02.2020, 08:17 Options

Hallo Helmut,
hier mal 2 meiner versuche.
If Range("GG3").Value = "DATUM(B1;7;1)" Then
Rows("GG2:GG56").Hidden = True
End If
End Sub
und

Columns("GG:GG").EntireColumn.Hidden = True
If Cells("GG3") = DATUM(B1;7;1) Then
Columns("GG:GG").EntireColumn.Hidden = False
Exit Sub
End If
End Sub

bei dem ersten Code passiert gar nichts und bei dem zweitem bekomme ich in der 2 Zeile einen Syntaxfehler.

Gruß Knulli

Antwort 6 von M.O. vom 25.02.2020, 08:49 Options

Hallo Knulli,

folgender Code blendet die Spalte GG aus, wenn in GG3 ein Datum mit dem Monat Juli steht:

Sub ausblenden()

If Month(Range("GG3")) = 7 Then Range("GG:GG").Columns.Hidden = True

End Sub


Gruß

M.O.

Antwort 7 von Knulli vom 27.02.2020, 08:17 Options

Hallo M.O.,
das funktioniert auch nicht.


Gruß Knulli

Antwort 8 von M.O. vom 27.02.2020, 09:28 Options

Hallo Knulli,

der Code funktioniert, du musst das Makro natürlich starten bzw. den Code entsprechend in deinen Code für das Drehfeld einbauen.

Ansonsten verweise ich auf Antwort 4: ohne genaue Angaben kann man nicht gezielt helfen.

Gruß

M.O.

Antwort 9 von Knulli vom 03.03.2020, 10:07 Options

Hallo M.O.,
habe es hinbekommen, Spalte wird ausgeblendet. Wie muss der Code erweitert werden, das die Spalte wieder eingeblendet wird, wenn ich auf ein Schaltjahr komme(zurück auf 2008 oder vor auf 2012)? Die Spalte bleibt sonst immer ausgeblendet.

Danke und Gruß
Knulli

Antwort 10 von M.O. vom 03.03.2020, 11:18 Options

Hallo Knulli,

hier der geänderte Code:

Sub ausblenden()

'Ausblenden
If Month(Range("GG3")) = 7 Then Range("GG:GG").Columns.Hidden = True
'Einblenden
If Range("GG:GG").Columns.Hidden = True And Month(Range("GG3")) = 6 Then Range("GG:GG").Columns.Hidden = False

End Sub


Gruß

M.O.

Antwort 11 von Knulli vom 03.03.2020, 14:08 Options

Hallo M.O.
Danke, klappt. Habe eben festgestellt, dass ich noch ein Problem habe.
Wenn ich speichere, wird das Datum des Jahres gespeichert, auf das ich wechsle und nicht das, was eigentlich gespeichert werden soll. Hast Du dafür eine Lösung?
Code:
Private Sub SpinButton1_Change()
'Speicherabfrage

strAnzeige = MsgBox("Urlaubsplan speichern? Daten gehen beim wechseln auf ein neues
Jahr verloren!!!", vbYesNo)
If strAnzeige = vbNo Then

' Blattbereinigung bei Jahreswechsel
Sheets("1.Hj.").Range("H7:GG20").ClearContents
Sheets("1.Hj.").Range("H7:GG20").Interior.ColorIndex = xlNone

Else
ActiveWorkbook.SaveCopyAs Filename:="..\Urlaubsplan" & Range("B1") & "_" & Date & "_" & Format(Time, "hh.mm") & ".xls"
End If

B1 steh für die Jahreszahl, die durch betätigen des Buttons geändert wird. Mein Problem ist, dass erst die Jahreszahl geändert und dann gespeichert wird, aber es soll erst gespeichert und dann das Jahr geändert werden.

Gruß Knulli

Antwort 12 von M.O. vom 03.03.2020, 15:57 Options

Hallo Knulli,

hier mal ein Vorschlag:
In das VBA-Projekt des Arbeitsblatt schreibst du folgenden Code:

Public SBWert As Integer

Private Sub Worksheet_Activate()
SBWert = Range("B1")
End Sub


Hier wird beim Aktivieren des Arbeitsblatts die in B1 stehende
aktuelle Jahreszahl eingelesen. Wichtig ist, dass die Variable
SBWert als Public definiert wird.
Deinen Code für den Spinbotton änderst du wie folgt:

Private Sub SpinButton1_Change()
..
ActiveWorkbook.SaveCopyAs Filename:="..\Urlaubsplan" & [b]SBWert[/b] & "_" & Date & "_" & Format(Time, "hh.mm") & ".xls"
[b]SBWert = SpinButton1.Value[/b]

End If
...
End sub


Gruß

M.O.

Antwort 13 von Knulli vom 03.03.2020, 16:40 Options

Hallo M.O.
Was heißt als Public definieren?
Habe den Code über den Code des Spinbuttons geschrieben und das ActiveWorkbook ersetzt, jetzt wird aber immer unter 2008 gespeichert egal welches Jahr ich wähle und wenn ich das Tabellenblatt dann wieder öffne steht das Jahr auf das ich gewechselt habe und nicht das was gespeichert werden sollte.

Gruß Knulli

Antwort 14 von M.O. vom 04.03.2020, 07:33 Options

Hallo Knulli,

kannst du mal eine Beispielmappe hochladen, z.B. hier, und den Link posten?

Gruß

M.O.

Antwort 15 von Knulli vom 06.03.2020, 09:24 Options

Hallo M.O.
Habe es noch ein bisschen getestet und es geht jetzt soweit, dass die Tabelle mit der richtigen Jahreszahl gespeichert wird. Wenn ich die gespeicherte Tabelle aber öffne, steht da das Datum von dem darauf folgendem Jahr und der Kalender ist auch von diesem.
Das kommt daher, weil beim betätigen des Buttons die Jahreszahl und der Kalender geändert werden und dann erst gespeichert wird.
Ich bräuchte eine Lösung, wo erst gespeichert wird und dann erst die Jahreszahl und das Datum geändert werden.
Beispielmappe: http://upload.npcfighter.de/files/36/2668/Urlaubsplaner.rar

Gruß Mario

Antwort 16 von M.O. vom 09.03.2020, 17:14 Options

Hallo Mario,

ich habe mal etwas gebastelt. Schau mal hier nach. Ich hoffe, es funktioniert so, wie du es willst.

Gruß

M.O.

Ähnliche Themen

Spalten ausblenden z.B. WENN A1=1
neueinsteiger  27.04.2007 - 166 Hits - 6 Antworten

leere Zeilen gruppieren/ausblenden
Tomschi  04.07.2007 - 137 Hits - 3 Antworten

Objekt ausblenden wenn Spalte leer
renewa  30.08.2007 - 32 Hits - 7 Antworten

Berechnung nur wenn Datum in Zelle
spalte  10.02.2008 - 93 Hits - 5 Antworten

Zeilen ausblenden
gaga...  09.03.2008 - 170 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026