Excel / Programieraufgaben zum Thema Ausblenden / Auswahlliste Verweis

Frieda_LE

Cadet 1st Year
Registriert
Feb. 2015
Beiträge
12
Nächstes Projekt:

Hallo Snooty, vielen lieben Dan für Deine Unterstützung. Ich werde jeden Tag Schlauer !!

Ich habe die alte Beiträge gelöscht um Platz zu sparen und weil ich kin neues Thema eröffnen möchte. Hab das wohl am Anfang immer gemacht !?

Wie schon erwähnt, habe ich das "kleine" Problem bei der Zeitrechnung hinbekommen.


Jetzt fünktionieren die Summenbildung nicht mehr ;-(
 

Anhänge

Zuletzt bearbeitet: (Schreibfehler)
Hio,

Punkt1: Zippe deine Excel-Tabelle, dann kannst du sie hier hochladen :)


Ich hab mal ein Beispiel erstellt für dein erstes Problem: Anhang anzeigen Auswahl.zip

  • Im Tabellenblatt Auswahl ist in Zelle D1 eine Auswahl für OST, NORD, WEST (erstellt über das Menü Daten | Datenüberprüfung)
  • Im Tabellenblatt Kategorien Food sind deine Werte in Spalte A5 bis A37
  • Im Tabellenblatt Hilfstabelle sind in A1:A7 die Werte aus Kategorien Food; abhängig davon, was in Auswahl!D1 ausgewählt wurde
  • In Auswahl sind in D2 und D3 wieder Auswahllisten, die auf Hilfstabelle!A1:A7 zugreifen

Dein zweites Problem ist eigentlich nur eine Wenn-Funktion:
Code:
D64/D65 =WENN(D63="ja";"dein Text";"")


Wenn du mehrere Tabellenblätter hast und nur eines anzeigen willst, kannst du die anderen Blätter über einen Rechtsklick auf den Reiter ausblenden:
Bild 004.png
 
Zuletzt bearbeitet:
Einen wunderschönen guten Tag Snooty,

vielen lieben Dank für Deine Denkanstöße ;-)

Du hast mir damit sehr geholfen.

Ich bekomme das nur noch nicht so richtig hin mit dem ein /bzw. ausblenden

Ich würde gerne, dass Wenn in Zelle D33 ein ja steht (per Auswahl) Datenüberprüfung
dann sollen die darauf folgenden zwei Zeilen (D34/D35)ein bzw. ausgeblendet werden. Gleiches gild für die Zelle D63 (D64/D65).

Ich stell mich an, wie der erste Mensch.


Eine generelle Frage: Kann ich das Eingabeblatt ein wenig hübscher gestalten?

Bspw. wenn es geöffnet ist: Soll nichts mehr von Excel zu sehen, sondern nurnoch das Blatt eventuell mit eingefügten Bildern /Logos und ohne Menüzeile. Geht soetwas?

Passwort: test


Vielen Dank!
Ergänzung ()

Hallihallo,

vielen Dank nochmal für Deine Hilfe!

Ich bekomme nun einen Wert aus der Tabelle heraus.

Diesen würde ich gerne in die angehangene Tabelle einfügen. Als Wert der maximal ausgegeben bzw. verplant werden kann.

Ich tu mich sehr schwer eine übersichtliche und exakte Einsatzplanung inkl. automatischer Erkennung ob Spät.-/ Nachtzuschlag bzw. Sonntags und über 41 Wochenstunden zu erstellen. Habe bis heute alles manuell eingetragen :(

Kann mann das irgendwie prgrammieren, dass die Wochen automatisch erweitert werden?
und das Datum bzw. die KW eingesetzt wird?

Außerdem hätte ich gerne die monatliche Auswertung auf dem Übersichtsblatt, nach dem ich die Personalplanung erstellt habe.

Kann ich auch irgendein Drucksymbol (Gilt auch für die oberste PK_Reorga_2015) einfügen, um die Tabelle Wochenweise auszudrucken, auf einer Seite im Querformat ohne die ausgeblendeten Zuschläge und Geldwerte, nur die Zeiten und Stunden.

Ich muss nämlich immer die Einsatplanung Namentlich melden ;-(

Am besten einmalige Eingabe der Namen mit Übertrag.

Hab das schonmal bei einer Tabelle gesehen, dass wenn die Monatsplanung abgeschlossen war, einfach auf ein Symbol geklickt wurde und schon wurden alle relevanten Daten auf den nächsten Monat kopiert.

so etwas ähnliches würde ich auch gerne haben.

Ich habe auf der Tabelle in rot meine Gedanken / Sorgen verfasst.

Bei meiner Rechnung steht auch immer ein Minuswert, wenn ich den Einsatzplan über Nacht plane :-(
Bsp. 22:00 bis 06:00 !?!?! Summe: -0,63 ?!!?

Bei 07:00 bis 18:00 Uhr funktioniert es aber!?

Vorab vielen lieben Dank für alles!!

PS: Kann ich mich irgendwie erkenntlich zeigen?
Ist imerhin eine enorme Arbeitserleichterung für mich!

Ich würde gerne auch mal etwas gutes tun und nicht nur Hilfe in Anspruch nehmen ;-)

Grüße aus Leipzig
Daniel
 

Anhänge

Zuletzt bearbeitet: (aktualsiert)
Frieda_LE schrieb:
Ich bekomme das nur noch nicht so richtig hin mit dem ein /bzw. ausblenden

Ich würde gerne, dass Wenn in Zelle D33 ein ja steht (per Auswahl) Datenüberprüfung
dann sollen die darauf folgenden zwei Zeilen (D34/D35)ein bzw. ausgeblendet werden. Gleiches gild für die Zelle D63 (D64/D65).
Wie gesagt, das machst du mit einer Wenn-Funktion:
Code:
=WENN(D33="Ja";"dein Text oder deine Formel";"")


Eine generelle Frage: Kann ich das Eingabeblatt ein wenig hübscher gestalten?

Bspw. wenn es geöffnet ist: Soll nichts mehr von Excel zu sehen, sondern nurnoch das Blatt eventuell mit eingefügten Bildern /Logos und ohne Menüzeile. Geht soetwas?

Man kann mehrere Dinge ein- bzw. ausblenden. Bspw:
Code:
'Anzeigen ausblenden (= False) bzw. einblenden (= True)'
Application.DisplayFormulaBar = False 'Bearbeitungsleiste'
ActiveWindow.DisplayGridlines = False 'Gitternetzlinien'
ActiveWindow.DisplayHeadings = False 'Spalten-/Zeilennummern'

'Vollbildmodus ein-/ausschalten'
Application.DisplayFullScreen = False

'Menüleisten ein-/ausblenden. Funktioniert ggf. nicht überall'
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" 'bzw. (""Ribbon"",True)"

Bei all dem sollte man aber sicherstellen, dass die Elemente vor dem Schließen der Datei wieder zurückgesetzt werden.
Beim Öffnen der Datei (in deine Arbeitsmappe, nicht ins Modul):
Code:
Sub Workbook_Open()

'Makro'

End Sub
bzw. vor dem Schließen:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean) 

'Makro'

End Sub


Bei meiner Rechnung steht auch immer ein Minuswert, wenn ich den Einsatzplan über Nacht plane :-(
Bsp. 22:00 bis 06:00 !?!?! Summe: -0,63 ?!!?

Bei 07:00 bis 18:00 Uhr funktioniert es aber!?
Das liegt daran, dass im ersten Fall die Endzeit (6:00) kleiner ist, als die Anfangszeit (22:00). Wenn du die Differenz berechnen willst, musst du entweder das vollständige Datum verwenden (per Zellenformat kann ja weiterhin trotzdem nur die Zeit sichtbar bleiben) oder du musst prüfen, ob die Endzeit kleiner als die Anfangszeit ist, bspw.:
Code:
=Wenn(Endzeit<Anfangszeit;dann 1-Anfangszeit+Endzeit;andernfalls Endzeit-Anfangszeit)
)

Überstunden, Zuschläge etc. kann man natürlich auch einrechnen - wenn man weiß wann es welche Zuschläge u.ä. gibt. Je nachdem wird es halt komplexer oder einfacher.


Zum Rest sag ich mal: grundsätzlich ist nahezu alles möglich ;) Dann müsstest du aber genau erklären, was geschehen soll (unerlässlich sind bspw. Tabellenblätter + Zellangaben etc.).
 
Guten Abend Snooty,

danke nochmal für Deine Unterstützung.

Ich habe morgen wieder Zeit und werde mich bzw. deine Tipps gleich ausprobieren und versuchen meine Ideen konkret zu umschreiben.

Einen schönen Abend noch!
Ergänzung ()

Moin,moin Snooty,

also ich kann Dir gar nicht genug danken. Ich lerne hier noch fürs Leben. An dem Spruch ist was dran: "Du kannst alt werden, wie eine Kuh und trotzdem lernst Du immernoch dazu" ;-)

Ich stell mich aber trotzdem zu blöd an:

Ich schreibe den Befehl: Wenn, dann, das für meine Zellen bzw. Zeilen, aber es pasiert nicht, da ich nicht weiß wie die zwei Zeilen ausgeblendet werden sollen. "mein Text" verstehe ich auch nicht.

Ich stell mich an wie eine Frau beim Reifenwechsel ;-)

Mit grafisch Aufwerten wollte ich Dich fragen, ob es die Möglichkeit gibt, so eine Art Eingabemaske zu öffnen, wenn die Tabelle geöffnet wird und ein Drucksymbol, damit mann keine Menüzeile usw. mehr benötigt, alles andere kann ich ja über die Ansicht steuern.

Es soll von Dritten ausgefüllt und nicht als Exceltabelle entlarvt werden.

Vielen lieben Dank!

Viele Grüße
 

Anhänge

  • Beispiel1.JPG
    Beispiel1.JPG
    18,5 KB · Aufrufe: 96
  • Beispiel.JPG
    Beispiel.JPG
    19,5 KB · Aufrufe: 145
  • Beispiel2.JPG
    Beispiel2.JPG
    20,1 KB · Aufrufe: 132
Vielleicht verstehen wir unter "ausblenden" auch etwas anderes. Deine Eingabe ergibt so jedenfalls keinen Sinn.

  1. Wenn du meinst, dass die ganze Zelle versteckt/nicht mehr sichtbar sein soll, dann müsste man das über ein Makro lösen. Zwangsläufig muss dann aber die komplette Zeile (oder Spalte) versteckt werden.
  2. Wenn du meinst, dass nur der Inhalt der Zelle gelöscht werden soll, dann geht das Wie gesagt über die WENN-Funktion.
Ich hab dir mal für beide Varianten ein Beispiel erstellt: Anhang anzeigen PK_Reorga_2015.rar


Das mit dem "Tarnen" würd ich sein lassen - alleine am Dateityp würde man es ja schon als Exceldatei erkennen. Sobald jemand Makros deaktiviert hat, würden all deine Aktionen ins Leere laufen. Und je mehr du sperrst, desto eher würde man es wohl umgehen wollen (wenn es jemand drauf anlegt; alles was verboten ist, ist interessanter ;)).

Du kannst ja alle Zellen sperren, die nicht bearbeitet werden sollen. Das funktioniert ohne Makros (ist aber auch nicht 100 % sicher).

Eine Eingabemaske kann man natürlich auch erstellen. Einfacher wäre es natürlich, eine "Eingabetabelle" anzulegen. Über Formeln werden dann die eigentlichen Blätter in deiner Datei ausgefüllt. Hier mal ein ganz simples Beispiel: Anhang anzeigen Eingabe.rar
 
Zuletzt bearbeitet:
Du hörst das bestimmt oft, aber Du bist ECHT KLASSE!!!

Daaaaaaaaaaaaaaaaaaaaaanke.. Genau so hab ich mir das vorgestellt.:)

Hab statt "Ja" ein "Nein" rein geschrieben:
Private Sub Worksheet_Change(ByVal Target As Range)

With Target
If .Address = "$D$33" Or .Address = "$D$63" Then
If .Value = "Nein" Then
.Offset(1, 0).EntireRow.Hidden = True
.Offset(2, 0).EntireRow.Hidden = True
Else
.Offset(1, 0).EntireRow.Hidden = False
.Offset(2, 0).EntireRow.Hidden = False
End If
End If
End With

End Sub

Und ja Du hast recht. Die sehen es sowie so, dass es eine Tabelle ist!

Hammer! zumindest wenn die Tabelle leer ist. Nach dem speichern funktioniert jetzt garnichts mehr :-(

Nun habe ich alle weiteren Blätter ausgeblendet und die Mappe gesperrt, damit nur die gelben Zellen ausgewählt bzw. ausgefüllt werden können und habe meine Daten zum Test eingegeben.

Jetzt kommt folgender Warnhinweis:
Anhang


Das erste Projekt ist DANK DIR fertig..nun möchte ich gerne den heraus kommenden Wert in die angehangene Tabelle einfügen.

Ich versuche es noch zu konkretisieren:
 

Anhänge

  • Hilfe.JPG
    Hilfe.JPG
    40,2 KB · Aufrufe: 113
Zuletzt bearbeitet:
Danke für die Antwort.

Weißt Du zufällig ob ich es irgendwie unterbinden kann, dass ein User mit Alt-F11 meine bzw. deine geschriebenen Befehle der VBA einfach löschen kann.

Würde es gerne schützen.

Danke!

Nun zur angesprochenen "neuen" alten Tabelle mit konkreten Vorstellungen:

Ich schreibe die gewünschten Funktionen mit rot in die Tabelle ;-)
 

Anhänge

Zuletzt bearbeitet:
Frieda_LE schrieb:
Wie schon erwähnt, habe ich das "kleine" Problem bei der Zeitrechnung hinbekommen.

Jetzt fünktionieren die Summenbildung nicht mehr ;-(

Du hast in der angehängten Datei auch keine Uhrzeiten stehen, sondern Dezimalzahlen (6.15 / 7.45). Damit rechnet es sich natürlich schlecht, wenn du Uhrzeiten haben willst. Du musst hier 6:15 bzw 7:45 usw. verwenden (natürlich überall, wo du Zeiten verwendest).
 
Ich werd schon Betriebsblind ;-)

Habs hin bekommen, schau mal..dank Dir..

Jetz würde ich gerne , das beim drücken des (PLANUNG1)Button (nächste Kalenderwoche) immer wieder die obere Tabelle (A3:BI36) ist so groß weil viele Zellen ausgeblendet sind. unten drunter bei (PLANUNG1) A37 einfügt. Das ist noch nicht alles. soweit habe ich den Befehl schon geschrieben. Jetzt sollen in den nächsten Zellen, in dem ein Datum steht , weiterhin fortlaufen sein, damit ich auf dem Blatt (Übersicht) Zelle C2:F2 einen Bezug zu den Monaten herstellen kann. Geht sowas überhaupt? ansonsten blende ich es wie gewohnt aus und mache die Tabelle für 28 Wochen fertig und lasse die Wochen einzeln aufblenden, wenn die Eingabe eines wertes kommt. Als fortlaufendes Datum habe ich die Zelle D4 als Bezug genommen.

Kann Excel überhaupt erkennen, welchen Monat das angegebene Datum zugehörig ist?

Vielen Dank

Achso, kann ich für die Zelle I6(Planung1) einen befehl schreiben, der es erst zulässt den wert anzuzeigen, wenn Zelle B6,D6,F7 einen wert ausgewählt haben?

Kann Excel automatisch Feiertage erkennen?
 

Anhänge

Frieda_LE schrieb:
Jetz würde ich gerne , das beim drücken des (PLANUNG1)Button (nächste Kalenderwoche) immer wieder die obere Tabelle (A3:BI36) ist so groß weil viele Zellen ausgeblendet sind. unten drunter bei (PLANUNG1) A37 einfügt. Das ist noch nicht alles. soweit habe ich den Befehl schon geschrieben. Jetzt sollen in den nächsten Zellen, in dem ein Datum steht , weiterhin fortlaufen sein
Ich hab mal das Kopieren der Arbeitswoche fertig gemacht. Das Datum wird immer aktualisiert. Anhang anzeigen PK-Reorga_HRxlsx -test.rar

Ich dupliziere den Button dabei nicht, sondern nutze nur einen einzigen Button oben links. Damit der beim Runterscrollen weiterhin sichtbar bleibt habe ich die oberen 2 Zeilen fixiert.

damit ich auf dem Blatt (Übersicht) Zelle C2:F2 einen Bezug zu den Monaten herstellen kann. Geht sowas überhaupt?
Wie schon gesagt, möglich ist quasi alles ;) Ich weiß nur nicht, was du hier genau haben willst. Ein Monat ist nicht genau 4 Wochen lang, daher wird eine Zuordnung Woche1-4, W5-9, ... schwierig.

Bild 002.png

Kann Excel überhaupt erkennen, welchen Monat das angegebene Datum zugehörig ist?
Per Formel bekommt man mit =MONAT(Zelle mit Datum) den Monat zum Datum.

Achso, kann ich für die Zelle I6(Planung1) einen befehl schreiben, der es erst zulässt den wert anzuzeigen, wenn Zelle B6,D6,F7 einen wert ausgewählt haben?
Per WENN-Funktion prüfen, ob in diesen drei Zellen etwas steht.

Kann Excel automatisch Feiertage erkennen?
Nicht selbständig, aber man kann nachhelfen: http://ms-excel.eu/faqs/tips/excel-feiertage-berechnen.html
 
Einen wunderschönen guten Abend,

vielen lieben Dank für Deine Infos und Deinen Support. Wahnsinn, wie Du das immer machst.

Das mit den Zeiten haut jetzt hin. Jedoch der Button nicht ;-( Übrigens Super Idee mit der oberen Zeile.

---------------------------------------TRENNUNG----------------------------------

Mit den Monaten möchte ich gerne folgendes:

Wenn die Wochen nun kopiert werden und die einzelnen Tage sich automatisch erweitern, würde ich gerne eine Art Splitting in Monaten, d.h. die Monate sollen automatisch erkannt und die Summe des jeweiligen Monats auf der Übersicht angezeigt werden.


Hindergrund ist, dass ich bis heute mühseelig die Personalplanung für ca. 7 Monate erstelle und dann manuell errechne, da meistens die Monate sich den Wochen überschneiden :-(

Da Du recht hast mit den Monaten manchmal > 4Wochen, würde ich als Newbie einfach jeden Monat einfach fünf Wochen geben und die Summen zusammenziehen / anzeigen lassen.

Ich wollte eigentlich eine maximale Wochenanzahl von 28 KW angeben lassen, jedoch wäre ich mit sieben Monaten nun bei 35 Wochen.

Was meinst Du? Was wäre besser?

-----------------------------------------------------------------------

Ist ja echt krass, was da noch so geht. Hab das mit den Feiertagen mal überflogen. Echt Wahnsinn.

Dank Dir ;-)
 
Zuletzt bearbeitet: (Schreibfehler ;-))
Ach ja, du musst einen anderen Button verwenden - das ging ja immer nicht bei dir.

  • Wähle dazu den vorhandenen Button im Entwurfsmodus aus und lass dir den Code anzeigen. Kopiere den ganzen Code in ein eigenes Modul. Den Button kannst du danach entfernen.
    Bild 009.png Bild 010.png
  • Füge dann eine neue Schaltfläche ein und verknüpfe sie mit dem eben kopierten Makro.
    Bild 012.png Bild 013.png


Wie du das mit den KW machst ist deine Entscheidung ;) Ich würde denken, dass es Tages genau sein sollte. Das ist bei deiner Darstellung natürlich etwas kompliziert.

Vielleicht wäre es besser, pro Monat ein eigenes Tabellenblatt zu erstellen?
 
Hallo und Danke nochmal.

Es kopiert nur die erste Woche, und das Datum (Zelle D4;L4;T4;AB4;AJ4;AR4;AZ4) und bei der unteren Kopie (Zelle D39;L39;T39;AB39;AJ39;AR39;AZ39)erweitert sich nicht automatisch sowie der Gesamte PK Kostenwert kummiliert (Zelle BF69) sich nicht. Da sollen alle vorherigen Monate zusammengerechnetwerden. :-( Hab ich was falsch gemacht?

Die Idee mit den Monaten ist der wiedermal Genial. Einfach und umsetzbar.1 Monat auf ein Tabellenblatt, somit benötige ich auch keinen Kopie-Button, sonder würde fünf Wochen für jeden Monat bereit stellen und die Summen Auf der Übersicht zusammen ziehen. Echt Genial!

Danke..Werd mich heute Abend mal ran setzen. Ist auch viel Übersichtlicher ;-)

PS: Da ich jedoch nicht immer weiß ob das Projekt im Januar oder Dezember los geht müss ich alle Monate erstellen, richtig?
 
Ersetze mal die letzte Zeile im Makro:
Code:
Planung1.Range("D" & iLastRow + 3) = Planung1.Range("D" & iLastRow - (6 + iCountEmployee)) + 7
durch Folgendes:
Code:
With Planung1
  .Range("D" & iLastRow + 3) = .Range("D" & iLastRow - (6 + iCountEmployee)) + 7
  .Range("BF" & iLastRow + iCountEmployee - 1) = .Range("BF" & iLastRow + iCountEmployee - 2) + .Range("BF" & iLastRow)
End With


Das With Planung1 kannst du auch ganz an den Anfang nach Sub ... schreiben und dann darunter überall wo Planung1 steht, selbiges löschen. Verkürzt den Code etwas.

Bild 014.png

Da ich jedoch nicht immer weiß ob das Projekt im Januar oder Dezember los geht müss ich alle Monate erstellen, richtig?
Vermutlich. Wenn du aber einen Monat hast, ist der Rest nur noch Copy and Paste + in der jeweils ersten Datumszelle den Monat anpassen + Anzahl der Tage korrigieren.
 
Dem Ziel so nah und fern ;-)

Hallihallo und dank für alles. Ich wollte eben die Monate und die Wochen kopieren und Deine Zeilen einfügen, da ist mir aufgefallen,dass es immer 24 Stunden anzeigt. Hab mal nen screenshot gemacht?!

HAb ich etwas falsch kopiert?
 

Anhänge

  • Help.JPG
    Help.JPG
    63,2 KB · Aufrufe: 102
Snooty schrieb:
Das ist ja auch wieder ne Dezimalzahl und keine Uhrzeit!? Auch in den Spalten davor sind teils Zeiten und teils Zahlen.

Die Rechnung pasiert nur auf den Dezimalwerten (Zelle C6;E6;H6), da ich diese für die richtige Errechnung des Geldwertes benötige, da ich am Anfang, dass Problem hatte (13:00h bis 15:30h = 2,30 statt 2,5 )

Ich muss aber ausschließen können, dass der es keine minus oder zu hohen pluswerte gibt. Da der Fehler (USER) immer vor dem Rechner sitzt ;-)

Laut ArbZ Gesetz dürften sowie so nur max 10 Stunden gearbeitet werden. Kann ich das irgendwie unterbinden, dass die 23,5 Stunden einfach errechnet werden?

Dankeschön ;-)
 
Zuletzt bearbeitet:
Zurück
Oben