37414
Goto Top

OK-Zeichnung in Excel-Datei durch Mitarbeiter

Hallo,

es geht nochmal um meinen digitalen Urlaubsantrag, den ich in Excel erstellt habe.

In dem Dokument kann z.B. der Antragsteller seinen Urlaub eintragen und am Ende auch über einen Button "Unterschrift" seine eigene Unterschrift in eine bestimmte Zelle einfügen. Dabei wird dann ein JPG eingefügt, welches sich auf jedem Desktop jedes/jeder Mitarbeiter/-in befindet.

Nun werden in unseren Urlaubsanträgen aber auch Vertreter aufgeführt, welche die Person während des Urlaubes vertreten.
Bisher - in unseren Urlaubsanträgen aus Papier - haben die Vertreter dann ihr Kürzel bei "Vertretung" eingetragen, um so zu dokumentieren, dass sie darüber informiert wurden, dass sie während des Urlaubes die/den Kolleg/-in vertreten müssen.

Natürlich könnte ich auch das genauso lösen, wie die Unterschrift des Antragstellers (JPG mit Unterschrift in Feld einfügen).
Aber es soll (darf) natürlich nicht so sein, dass jede/r Vertreter/-in das entsprechende Excel-Dokument der anderen Person öffnen darf.
Es muss also eine andere Möglichkeit geben, wie die Vertretung ihr OK für die Vertretung geben kann... bzw. eine Info, dass sie/er darüber informiert wurde, dass sie/er die/den Kolleg/-in vertreten muss.

Habt Ihr eine Idee, wie ich das umsetzen könnte?

Danke und schöne Grüße,
imebro

Content-Key: 647665

Url: https://administrator.de/contentid/647665

Printed on: April 23, 2024 at 07:04 o'clock

Member: NordicMike
NordicMike Feb 03, 2021 updated at 09:04:58 (UTC)
Goto Top
Willkommen in der Welt, bei der Excel versagt <- kein Rechtesystem, kein Workflow, keine Revisionssicherheit, erhöhter und fehleranfälliger Aufwand, es ist und bleibt eine Tabellenkalkulation.

Dafür benötigst du andere Tools, z.B. DMS, Sharepoint, Teams, oder etwas Web basierendes, z.B. Joomla.
Member: Visucius
Visucius Feb 03, 2021 at 09:06:00 (UTC)
Goto Top
Echt? Ne jpg-Unterschrift jedes MAs auf deren Firmen-PC?

Bin ja manchmal auch „rustikal“ oder nennen wir es zielorientiert - unterwegs. Aber hierzu bin ich sprachlos. Und mir fällt auch kein Vorteil ein, warum man das machen sollte?!
Member: NordicMike
NordicMike Feb 03, 2021 updated at 09:10:31 (UTC)
Goto Top
Bestimmt historisch bedingt, da Anfangs jedes Formular in einer 3-Mann Firma (ohne Administrator) in Word oder Excel geschrieben wird. In Word kommt erschwerend dazu, dass ein importiertes JPG erst einmal das Format zerstört, da die User nicht in der Lage sind es über oder hinter den Text zu legen.

Interessant ist dabei, dass man dann jede Unterschrift (eines Anderen) auch heraus kopieren kann und überall anderswo wieder einsetzen kann. Chaos komplett :c)
Member: Visucius
Visucius Feb 03, 2021 updated at 09:29:02 (UTC)
Goto Top
Zitat von @NordicMike:
Interessant ist dabei, dass man dann jede Unterschrift (eines Anderen) auch heraus kopieren kann und überall anderswo wieder einsetzen kann. Chaos komplett :c)
Genau ... und auch die des “Chefs” face-wink

... und rauslöschen beim Kollegen geht auch ...

Deshalb tuen es eigentlich auch problemlos Cliparts oder “Fonts-Häckchen”, ebenso wie “geprüft” und “freigegeben” als Text.

Gleichzeitig würde ich mich als MA dagegen wehren, meine Unterschrift als JPG auf Firmen-HW zu hinterlegen. Nicht, dass irgendwann mein unterschriebener Aufhebungsvertrag vor mir liegt. Und dann ist das Ding noch nicht einmal unverschlüsselt per Mail an irgendeinen MA im Homeoffice verschickt worden ... und dann noch die DSGVO ...

Das ist auf so vielen Ebenen ... nennen wir es mal “problematisch”
Member: NordicMike
NordicMike Feb 03, 2021 updated at 09:36:07 (UTC)
Goto Top
Da fällt mir ein, selbst der Adobe Reader kann signieren und unterschrieben. Das wäre evtl eine schnelle Option. Die Excel Datei einfach als PDF abspeichern. Aber viel sicherer ist das auch nicht.
Member: SachsenHessi
SachsenHessi Feb 03, 2021 at 10:03:48 (UTC)
Goto Top
Ja, da ist EXCEL (oder auch Word) wohl das falsche Tool Deiner Wahl.
Nimm ein (möglichst revisionssicheres) Workflow-Tool.
Es gibt auch Arbeitszeitverwaltungen (z.Bsp. ISGUS u.ä.) die können das.
Oder mit "Power Automate" kann man sowas auch mit Exchange realisieren.
Einfach mal googeln. (Stichwort Wokflow mit Genehmigung)

Unterschriften auf dem PC zu hinterlegen würde ich mir reiflich überlegen, Dein Datenschutzbeauftragter wird Dir was erzählen --> DSGVO

LG
Frank
Mitglied: 37414
37414 Feb 03, 2021 at 10:16:29 (UTC)
Goto Top
Hallo und danke für die vielen Kommentare.

Hmmm... das mit den Unterschriften auf jedem MA-Rechner ist bei uns schon seit Jahren so und nicht erst seit meiner Urlaubsdatei.
Daher habe ich meine Datei dann eben auch darauf angepaßt, dies nutzen zu können.

Es wurde hier auch DMS genannt als Programm, welches sowas umsetzen kann. Ist damit das DATEV-DMS gemeint?
Wenn Ihr meinen Thread richtig gelesen hättet, hättet Ihr gesehen, dass eben kein Kollege die Unterschrift eines anderen rauskopieren kann, da ja die Vertretungs-Kollegen KEINEN Zugriff auf diese Datei haben sollen. Genau dazu suche ich ja eine Lösung face-wink

Und die GF unterschreibt nicht mit einer digitalen Unterschrift (JPG-Datei), sondern mit einem Code, der dann in einem bestimmten Feld aus "offen" ein "genehmigt" macht face-smile

Also ganz so tragisch, wie von Euch dargestellt, ist es dann doch nicht...

Grüße,
imebro
Member: Visucius
Visucius Feb 03, 2021 updated at 10:30:02 (UTC)
Goto Top
Verstehe ... der GF weiß es selber “besser”, macht sich aber das Abhängigkeitsverhältnis zu nutze um seine MAs zu zwingen ihre Unterschrift auf dem FirmenPC zu hinterlegen face-wink

Na denne ... face-smile

Da wäre vermutlich schon ein (inländischer) Urlaubsplaner-Cloud-Anbieter “rechtskonformer” (und bequemer).

Exchange wurde ja schon genannt. Kann man da nicht einfach nen “Allgemeinen Kalender” für alle freigeben. Ähnlich ner Sekretariatsfunktion?

Oder evtl. ne Raspberry-Lösung im Rahmen eins Mini-Webservers?
Member: eisbein
eisbein Feb 03, 2021 updated at 10:59:54 (UTC)
Goto Top
Hallo,

Wenn Ihr meinen Thread richtig gelesen hättet, hättet Ihr gesehen, dass eben kein Kollege die Unterschrift eines anderen rauskopieren kann, da ja die Vertretungs-Kollegen KEINEN Zugriff auf diese Datei haben sollen. Genau dazu suche ich ja eine Lösung

Wenn du noch mehr Mühe und Zeit in dein Projekt investieren willst, dann hier mein Lösungsansatz: Outlook und viel VBA-Code face-wink

Mittels VBA kann Excel mit Outlook kommunizieren und zb. E-Mails, Abstimmungen, Umfragen etc. erstellen aber auch auswerten.
Wenn dir das allerdings neu ist oder planlose Stimmung erzeugt, dann lass lieber die Finger davon und druck den Zettel aus damit die Vertretung ihren Hugo drauf malen kann.

Hier ein paar Links:
https://www.spin.de/forum/145/-/4775
https://www.ms-office-forum.net/forum/showthread.php?t=220649
VBA Excel - Outlook Mails auslesen inkl. Unterordner eines Funktionspostfaches - Script anpassen
Urlaubsantrags-Formular mit Outlook
https://gate4.com/blog/urlaubsgenehmigungsworkflow-in-office-365-mit-mic ... <- ohne Excel und VBA face-smile

Gruß
eisbein

Edit: Wie bereits vielfach gesagt, Excel ist eine denkbar ungünstige Ausgangbasis für dein Projekt.
Member: SachsenHessi
SachsenHessi Feb 03, 2021 at 11:13:37 (UTC)
Goto Top
Also nochmal, entweder Papier und abheften face-sad

oder eine Arbeitszeitverwaltung (die das kann)
oder ein DMS (mit Genehmigungs-Workflow) DMS=DocumentManagementSystem z.Bsp ELO, ecoDMS, DocuWare etc.
oder ein Genehmigungsprogramm in der Cloud
oder ein Exchange-AddIn (wenn Exchange genutzt wird)
oder selber machen.

Nur nicht Excel/Word.

LG
Frank
Member: em-pie
em-pie Feb 03, 2021 at 12:51:28 (UTC)
Goto Top
Moin,

mal eine bescheidene Frage: wie/ mit welcher Software findet bei euch die Zeiterfassung statt?
vielleicht kann man die um ein Urlaubsmanagement erweitern - und die Daten würden dann direkt richtig verbucht werden...

Nur mal so als Idee...

gruß
em-pie
Member: TK1987
TK1987 Feb 03, 2021 updated at 13:30:15 (UTC)
Goto Top
Moin,

Zitat von @NordicMike:
Da fällt mir ein, selbst der Adobe Reader kann signieren und unterschrieben.
das kann Excel / Word grundsätzlich auch.

Allerdings dient eine Signatur ja lediglich dazu, überprüfen zu können, ob die Datei nachträglich verändert wurde. Bringt in dem Fall daher recht wenig.

Gruß Thomas
Mitglied: 37414
37414 Feb 03, 2021 at 13:15:39 (UTC)
Goto Top
OK und danke für die weiteren Antworten.

Die Zeiterfassung findet bei uns leider noch mit "Chipdrive" statt, welches schon seit 2016 nicht mehr supportet wird face-wink
Ich bezweifle sehr, dass diese Software sowas kann...

Ja, wir nutzen Exchange. Aber Urlaubsanträge mit Exchange erstellen - das soll tatsächlich gehen?

Zur Erklärung:
Es geht hier nicht um die VERWALTUNG der Urlaube. Diese findet in unserer Buchhaltung statt. Es geht lediglich um den Antrag auf Urlaub.

Outlook und VBA-Code wäre für mich sicher nicht die richtige Lösung, da ich zwar mal ein bisschen mit VBA für Word gemacht habe, aber nicht mehr.

Die Idee mit dem "Allgemeinen Kalender" in Outlook ist interessant... ähnlich einer Sekretariatsfunktion.
Wie genau würde das aussehen, bzw. wie kann ich mir das vorstellen?

Grüße,
imebro
Member: NordicMike
NordicMike Feb 03, 2021 at 13:48:28 (UTC)
Goto Top
Allerdings dient eine Signatur ja lediglich dazu, überprüfen zu können, ob die Datei nachträglich verändert wurde.
Sorry, die Funktion in Adobe Reader heisst nicht "signieren und unterschreiben", sondern "ausfüllen und unterschreiben"...

Mein Fehler
Member: Visucius
Visucius Feb 03, 2021 updated at 14:30:25 (UTC)
Goto Top
Eigentlich habe ich an sowas wie einen Gruppenkalender gedacht:
https://support.microsoft.com/de-de/office/blocken-von-urlaubszeit-in-ei ...
https://support.microsoft.com/de-de/office/freigeben-eines-outlook-kalen ...

Aber wenn Du Outlook oder Exchange und Urlaubsplanung suchst, gibts auch sowas hier:
https://www.buero-kaizen.de/outlook-urlaubskalender/
https://www.experto.de/businesstipps/urlaubsplanung-im-team-so-behalten- ...

Und ich vermute mal, es gäbe auch entsprechende “add-ins” für Exchange, mind. mal in der MS365er-Version (auf den ersten Blick z.B. absence.io)

Du bist ja bestimmt nicht der erste, der sich mit dem Problem rumschlägt face-wink

PS: Alternativ Din3 oder 2 an die Klotüre ... da muss jeder mal hin face-smile
Member: wiesi200
wiesi200 Feb 03, 2021 at 14:29:34 (UTC)
Goto Top
Hallo,

sag mal ne Zeiterfassung habt ihr nicht? Die hab da oft was drinnen das so Workflows regelt.
Member: beidermachtvongreyscull
beidermachtvongreyscull Feb 03, 2021 at 19:50:17 (UTC)
Goto Top
Guten Abend,

einen Vorschlag vielleicht...

Schau mal hier:
https://www.spreadsheetweb.com/how-to-lock-formula-cells-with-vba/

Unter der Annahme, dass jetzt sonst keiner Eurer Mitarbeiter auf den Versuch kommt, die XLS(X)_Dateien zu hacken, könnte ein Ablauf ungefähr so aussehen:

  • Du hast einen Urlaubsantrag, der die Unterschrift des Stellers und eine separate Unterschrift des Vertreters in getrennten Zellen aufnehmen kann.
  • Alle Zellen, bis auf die Zeitangaben werden von vorneherein als gesperrt betrachtet. (Auch die Zellen, die die beiden Unterschriften aufnehmen sollen.
  • Jetzt brauchst Du ein Makro, dass die Unterschrift einfügt und dabei z.B. per Checkbox weiß, ob der Vertreter oder der Antragsteller unterzeichnet. Das Makro sperrt die Bearbeitung des Excel-Sheets mit Passwort nachdem der Vertreter unterzeichnet hat. Der Makro_Code selbst ließe sich ebenfalls schützen, so dass das verwendete Passwort geheim bliebe.
  • Schlussendlich noch eine Sicherheit im Verfahren. Der Vertreter unterschreibt, erzeugt eine PDF-Datei, die er dem Antragsteller zurückschickt.

Nur mal ein Vorschlag.

Ich würde an sonsten auch eher zu einem Urlaubsverwaltungssystem tendieren. Es gibt fertige Scripts bei sourceforge und github, die sich recht gut implementieren lassen. Dann hast Du eine Webseite, auf der sich jeder mit selbstgewähltem (Muss sichergestellt sein) Login authentifiziert. Das käme einer Unterschrift rechtlich nicht gleich, könnte aber allgemein akzeptiert werden.
Mitglied: 37414
37414 Feb 04, 2021 updated at 09:33:47 (UTC)
Goto Top
Hallo und nochmals vielen Dank für die vielen Nachrichten. Aber die meisten Tipps gehen an meinem Problem vorbei (sorry) face-wink

Hmmm... ich glaube, es besteht immer noch die Meinung, dass ich eine Urlaubsverwaltung suche.
Ich versuche es nochmal zu erklären:

- wir tragen unsere Urlaube in unserem Outlook-Kalender ein. Dadurch werden alle Kolleg/-innen über den Urlaub informiert - auch über welchen Zeitraum der Urlaub geht.

- die eigentliche Urlaubsverwaltung findet in unserer Buchhaltung statt und die Urlaube werden auch in unserer Zeiterfassung eingetragen. Dies geschieht jedoch manuell durch die Buchhalterin, da diese (veraltete) Zeiterfassung keine eigene Urlaubsverwaltung hat.

Somit ist bezüglich Mitteilung und Verwaltung der Urlaube alles bestens!!

ABER...
Wir haben bisher unseren Urlaub auf einem DIN-A4-Blatt beantragt, welches wir ausgefüllt und unterschrieben haben. Dieses Blatt ging dann zunächst an die Vertretung, der/die dann unter "Vertretung" ihr Namenskürzel eingetragen hat. Dann ging das Blatt an den Abteilungsleiter, der seine Zustimmung durch ein OK gegeben hat. Am Ende ging das Blatt an die Geschäftsleitung, die dann den Urlaub endgültig genehmigt hat.

Und GENAU DAS will ich eben nun mit dieser Excel-Datei nachvollziehen.
Das funktioniert ja mit meiner Datei auch sehr gut und das Einfügen des JPGs mit der Unterschrift des Antragstellers ist für uns auch sicher genug, da diese Unterschrift dann auch in eine gesperrte Zelle eingefügt wird und das JPG mit der Unterschrift des A-stellers liegt AUSSCHLIESSLICH auf dem Desktop jedes/jeder Mitarbeiter/-in. Wenn diesen Antrag jemand anderes aufruft und auf den Button "Unterschrift" klickt, dann wird dessen Unterschrift eingefügt und die vorher eingefügte verschwindet.

Einziges Problem war ja noch das OK der Vertretung.
Das habe ich gestern testweise mal so gelöst, dass die Vertretung ihre Zustimmung auch mit einem Code eingibt. Dazu hätte jede/r Mitarbeiter/-in einen eigenen Code.
Das funktioniert grds. auch gut.

ABER...
Ich habe den Code in eine Formel eingebunden (einen anderen Weg kenne ich nicht). Daher würde dieses Excel-Dokument dann nur mit einer bestimmten Person als Vertreter funktionieren. Dazu brauche ich nochmal Eure Hilfe.

Hier mal der Code, über den die Zustimmung der Vertretung gegeben wird:
=WENN(G4=777;C5;"offen")  

In Zelle C5 steht der Vor- und Zuname der Vertretung
In Zelle G4 wird der Code eingetragen (hier 777).
Wurde der Code korrekt eingegeben, ändert sich "offen" in den Namen der Vertretung, der in Zelle C5 steht. Alternativ könnte dort natürlich auch "Zustimmung erteilt" erscheinen.

Meine Idee:
Ich würde in einem zusätzlichen Tabellenblatt (z.B. "Vertretung") alle Namen der Personen aufführen, die Vertreter sein können.
Dazu würde ich dann die jeweiligen Codes dieser Personen dort eintragen, mit denen sie ihre Zustimmung (in Zelle G4) geben können.
Dieses Tabellenblatt müßte dann am besten auch per Kennwort geschützt oder wenigstens ausgeblendet werden... oder ich behelfe mir, indem ich die Zellen mit den Codes sperre und für die Codes die gleiche Farbe nehme, wie der Hintergrund.

Ich müßte also jetzt per Formel folgendes sagen können:
Wenn in Zelle C5 der Name "Lisa Maier" steht, dann gehe zu Tabellenblatt "Vertretung" - und suche dort ebenfalls den Namen "Lisa Maier". Dann setze den Code ein, der dort in der Zelle rechts neben diesem Namen steht... und zwar im Tabellenblatt "Eingaben" in Zelle G4.

Keine Ahnung, ob sowas möglich ist.
Aber vielleicht habt Ihr zur Umsetzung ja einen besseren Tipp (bin fast sicher...) face-wink

Grüße,
imebro
Member: wiesi200
wiesi200 Feb 04, 2021 at 07:55:12 (UTC)
Goto Top
Zitat von @37414:

- die eigentliche Urlaubsverwaltung findet in unserer Buchhaltung statt und die Urlaube werden auch in unserer Zeiterfassung eingetragen. Dies geschieht jedoch manuell durch die Buchhalterin, da diese (veraltete) Zeiterfassung keine eigene Urlaubsverwaltung hat.

Am Rande stellt sich auch die Frage ob die auch DGSVO Konform ist.
Member: eisbein
eisbein Feb 04, 2021 updated at 10:59:03 (UTC)
Goto Top
Hallo,

Aber vielleicht habt Ihr zur Umsetzung ja einen besseren Tipp (bin fast sicher...)

Nur so ein Gedanke ....

Wenn in Excel von Müller ein Urlaubsantrag gestellt wird, wird eine Email an die Vertretung Hofer gesendet, dass eine Aktion fällig ist.
Hofer öffnet nun deine magische Excel-Datei (die den aktuellen Windows-User ausliest und somit weis, dass es wirklich der Hofer ist) und
sperrt daher alle Zellen/Sheets und erlaubt nur das OK von Hofer und ggf. einen Kommentar.

Ist mit relativ wenig VBA erledigt.
Welche Excel-Version wird denn verwendet? - sonst hast du noch das Problem, dass Excel nicht von mehreren Personen gleichzeitig bearbeitet werden kann.

Gruß
eisbein
Member: em-pie
em-pie Feb 04, 2021 at 10:40:57 (UTC)
Goto Top
Mal ganz simple gesprochen:
Wenn eh alle einen Office-Zugang haben:
Mail an Vorgesetzten/ Vertreter "ich will Urlaub. OK?" Vertreter schreibt "Ja", "Vorgesetzter schickt die Mail an die FiBu weiter mit "OK" oder lehnt die Mail ab....
Member: eisbein
eisbein Feb 04, 2021 at 10:47:54 (UTC)
Goto Top
Zitat von @em-pie:

Mal ganz simple gesprochen:
Wenn eh alle einen Office-Zugang haben:
Mail an Vorgesetzten/ Vertreter "ich will Urlaub. OK?" Vertreter schreibt "Ja", "Vorgesetzter schickt die Mail an die FiBu weiter mit "OK" oder lehnt die Mail ab....

Warum einfach, wenn es doch kompliziert sein muss? face-smile
Der Chef fragt sich dann sicherlich, wozu die ganze Tüftelei nötig war, wenn dann dieses "Old school" Ergebnis dabei raus kommt!
Mitglied: 37414
37414 Feb 05, 2021 at 09:29:52 (UTC)
Goto Top
Hallo nochmal,

ich habe jetzt eine Lösung des Problems gefunden über ein Hilfs-Tabellenblatt mit dem Namen "Vertretung". Das funktioniert sehr gut.
In diesem Tabllenblatt sind z.B. die jeweiligen MA-Codes in der gleichen Farbe wie der Hintergrund und die Zellen sind gesperrt. Klar könnte das jemand sichtbar machen... aber irgendwo muss man die Kirche auch mal im Dorf lassen face-wink Wir reden hier ja nur über den eigentlichen Antrag auf Urlaub und nicht über die Verwaltung.

Aber...
Ich würde zusätzlich gerne dieses Tabellenblatt "Vertretung" unsichtbar machen oder per Kennwort schützen, sodass es kein anderer MA sieht und somit nicht aufrufen kann.

Wie macht man das?

Grüße,
imebro
Member: eisbein
eisbein Feb 05, 2021 updated at 09:37:26 (UTC)
Goto Top
Wie macht man das?

Ohne Login-System weiß Excel nicht welcher MA gerade damit werkelt!

Daher mein Tipp, den Windows-User auszulesen -> Findet man in der Suchmaschine des Vertrauens.

Dann kannst du auf Basis des Users Tabellenblätter/Zellen/etc. aus-/einblenden.

Gruß
eisbein
Mitglied: 37414
37414 Feb 05, 2021 at 09:36:57 (UTC)
Goto Top
OK... werde ich mir mal anschauen. Danke für den Tipp.

Grüße,
imebro
Member: eisbein
eisbein Feb 05, 2021 at 09:39:15 (UTC)
Goto Top
Ohne VBA wirst du da aber nicht weit kommen. Auch wenn es nur ein paar Zeilen sind ...

Ich kenne dein Projekt nicht im Detail, daher kann ich nur Tipps geben face-wink

Gruß
eisbein
Mitglied: 37414
37414 Feb 05, 2021 at 09:41:15 (UTC)
Goto Top
Ich habe eben über die Suche folgendes gefunden:

aktivieren Sie das gewünschte Tabellenblatt und öffnen "Extras/Makro/Visual Basic Editor". Links oben im "Projektexplorer" sollte nun die betreffende Tabelle markiert sein. Suchen Sie darunter das "Eigenschaftenfenster", das oben auf die Tabelle Bezug nimmt. Klicken Sie in der Auflistung auf die Namenszeile "Visible". Dann ändern Sie rechts daneben im Kombinationsfeld die Standardeinstellungen von "1-xlSheetVisible" auf "2-xlSheetVeryHidden". Die dritte zur Auswahl stehende Variante "0-xlSheetHidden" entspricht übrigens der eingangs erklärten Menüeinstellung "Ausblenden". Wiederholen Sie die Einstellung gegebenenfalls für weitere Tabellenblätter.

Mit "Datei/Schließen und zurück zu Microsoft Excel" beenden Sie die Entwicklungsumgebung. Jetzt sind die jeweiligen Tabellenblätter gut versteckt und auch über das Menü "Einblenden" nicht zu finden. Außerdem ist für das Menü kein Kennwortschutz erforderlich. Sie können weiterhin in anderen Tabellen Bezüge auf die unsichtbaren Blätter verwenden.


Nun frage ich mich, wie ich denn in diesem Fall das Tabellenblatt wieder editieren kann, um z.B. einen weiteren Namen dort aufzunehmen oder einen Namen zu streichen? Muss ich das dann auch über VBA-Code wieder rückgängig machen und dann den Code erneut eingeben? Da gibt es doch sicher eine elegantere Lösung? face-smile

Grüße,
imebro
Member: eisbein
eisbein Feb 05, 2021 at 09:49:52 (UTC)
Goto Top
Diese Eigenschaft kann man per VBA ändern.

Du kannst dir zum Testen ein Makro aufzeichnen und zb. ein neues Tabellenblatt hinzufügen und danach ausblenden.

Den für dieses Makro hinterlegten VBA-Code kannst du dir dann im Visual Basic Editor (Projektexplorer - Module - Modul1) ansehen und auch ändern.

Somit könntest du dir ein Makro erstellen, das Tabellenblätter einblendet wenn der Benutzer das auch darf.
Mitglied: 37414
37414 Feb 05, 2021 at 09:55:27 (UTC)
Goto Top
OK, das habe ich soweit verstanden.

Gibt es denn auch eine Lösung ohne VBA-Code, um ein wie oben ausgeblendetes Tabellenblatt wieder sichtbar zu machen, um dort Änderungen vornehmen zu können?

Grüße,
imebro
Member: eisbein
eisbein Feb 05, 2021 updated at 10:08:24 (UTC)
Goto Top
Du meinst einfach mit der rechten Maustaste auf einen Tabellenblatt-Reiter klicken und dann im Kontextmenü "Einblenden" auswählen?

Edit:
OK - Sehe gerade bei der Option "2-xlSheetVeryHidden" geht das natürlich nicht - also nur per VBA
Mitglied: 37414
37414 Feb 05, 2021 updated at 10:13:31 (UTC)
Goto Top
OK danke...

Dann werde ich es über "Start > Format > Sichtbarkeit - Ausblenden / Einblenden" machen müssen. Ist aber auch kein Problem, da Änderungen in diesem Tabellenblatt sehr selten nötig sein werden.

Grüße,
imebro
Member: eisbein
eisbein Feb 05, 2021 at 10:15:47 (UTC)
Goto Top
Du musst dich vor VBA nicht fürchten ...... face-smile
Mitglied: 37414
37414 Feb 05, 2021 updated at 10:21:40 (UTC)
Goto Top
hahaha, ja da hast Du Recht.

Ich habe schon ein paar kleine Scripte mit VBA geschrieben. Aber das sind lediglich Drucker-Scripte. Also ein bisschen kenne ich das schon.

Für die Jenigen von Euch, die es interessiert, wie ich das Problem nun gelöst habe, hier mal der entsprechende Code:

=WENN(G4="";"offen";WENN(UND(C5=Vertretung!A4;G4=Vertretung!B4);"erteilt";WENN(UND(C5=Vertretung!A5;G4=Vertretung!B5);"erteilt";WENN(UND(C5=Vertretung!A6;G4=Vertretung!B6);"erteilt"))))  

Hierbei befinden sich die Namen der Mitarbeiter im Tabellenblatt "Vertretung" und ebenso deren MA-Codes (jeder Mitarbeiter hat einen eigenen Code). Und im Tabellenblatt "Eingabe" steht dann das entsprechende Feld, wo dieser Code eingetragen werden muss. Ist der Code korrekt und paßt auch zum Mitarbeiter, der dort eingetragen ist, dann wechselt ein rot hinterlegtes Feld mit "offen" zu einem gelb hinterlegtem Feld "erteilt" (für Zustimmung erteilt). Die Hintergrundfarben sind über bedingte Formatierung realisiert.

Im obigen Code sind jetzt nur 3 Mitarbeiter/-innen aufgeführt... ist im Moment ja auch nur ein Test.

Grüße,
imebro
Member: eisbein
eisbein Feb 05, 2021 at 10:23:20 (UTC)
Goto Top
ich das Problem nun gelöst habe

Wenn dem so ist, bitte nicht vergessen, den Thread als gelöst zu kennzeichnen.... Macht sonst nur böses Blut face-wink
Member: beidermachtvongreyscull
beidermachtvongreyscull Feb 05, 2021 at 10:23:41 (UTC)
Goto Top
Zitat von @eisbein:

Wie macht man das?

Ohne Login-System weiß Excel nicht welcher MA gerade damit werkelt!

Daher mein Tipp, den Windows-User auszulesen -> Findet man in der Suchmaschine des Vertrauens.

Dann kannst du auf Basis des Users Tabellenblätter/Zellen/etc. aus-/einblenden.

Gruß
eisbein

Ein kleines Code_Snippet dazu:

strVorname = LCase(ADAuslesen(1))
strNachname = LCase(ADAuslesen(2))

Function ADAuslesen(Specifier As Integer) As String
    Dim strFirma As String
    Dim strAbteilung As String
    Dim strName As String
    Dim strPhone As String
    Dim strFax As String
    Dim strEmail As String
    Dim strWeb As String
    Set objSysInfo = CreateObject("ADSystemInfo")  
    qQuery = "LDAP://" & objSysInfo.UserName  
    Set objuser = GetObject(qQuery)
    strFirma = objuser.company
    strAbteilung = objuser.physicalDeliveryOfficeName
    strName = objuser.firstname & " " & objuser.lastname  
    strPhone = objuser.TelephoneNumber
    strFax = objuser.facsimileTelephoneNumber
    strEmail = objuser.Mail
    strWeb = objuser.wwwHomePage
    
    Select Case Specifier
        Case 1
            ADAuslesen = objuser.firstname
        Case 2
            ADAuslesen = objuser.lastname
    End Select
    
    Set objSysInfo = Nothing
    Set objuser = Nothing
End Function

Ich beschränke mich in der aktuellen Anwendung lediglich auf den Vornamen und den Nachnamen eines Nutzers.
Vielleicht ein Ansatz in diesem Fall.

Gruß
bdmvg
Member: eisbein
eisbein Feb 05, 2021 updated at 10:41:59 (UTC)
Goto Top
Geht im Grunde noch kürzer :

Private Sub Workbook_Open()
     Sheets("Tabelle1").Range("A1") = Environ$("USERNAME")  
End Sub

Beim öffnen (oder Makro) wird der Windows-User dann in Zelle A1 eingetragen. Das sollte zur Identifizierung reichen, wenn kein AD vorhanden ist.
Member: beidermachtvongreyscull
beidermachtvongreyscull Feb 05, 2021 at 11:35:32 (UTC)
Goto Top
Zitat von @eisbein:

Geht im Grunde noch kürzer :

> Private Sub Workbook_Open()
>      Sheets("Tabelle1").Range("A1") = Environ$("USERNAME")  
> End Sub
> 

Beim öffnen (oder Makro) wird der Windows-User dann in Zelle A1 eingetragen. Das sollte zur Identifizierung reichen, wenn kein AD vorhanden ist.

Einfach und low tech! Küßchen! Find ich super! face-smile
Mitglied: 37414
37414 Feb 05, 2021 updated at 11:45:03 (UTC)
Goto Top
hmmm... das ist ja spannend face-wink

Wäre es dann nicht auch möglich, einen bestimmten Code für jeden MA so zu hinterlegen?
Also wenn Lisa Maier dieses Dokument von ihrem Rechner aus öffnet, wird in Tabellenblatt "Eingabe" in Zelle G4 der Code "777" eingetragen.
Bei dieser Lösung wäre es natürlich ein bisschen merkwürdig, dass Lisa Maier sonst nichts machen müßte, um ihre Zustimmung zur Urlaubsvertretung zu geben, als das Dokument zu öffnen.

Vielleicht wäre "aktiv etwas tun müssen" hier sinnvoller.
Es müßte so sein, dass am Ende nur der angemeldete User das Dokument öffnen kann und auch seine Zustimmung zur Urlaubsvertretung geben kann. Halt so, dass sicher ist, dass genau dieser MA seine Zustimmung gegeben hat und niemand sonst. Im Moment gibt der Vertreter ja in Zelle G4 seinen Mitarbeiter-Code ein... und das funktioniert ja auch über das ausgeblendete Zusatz-Tabellenblatt, in dem die MA-Codes hinterlegt sind.

Grüße,
imebro
Member: eisbein
eisbein Feb 05, 2021 updated at 16:15:46 (UTC)
Goto Top
Ist alles möglich, davon rede ich ja die ganze Zeit.
Aber wenn man kein VBA nicht will, dann will man nicht 😁😈

Edit:
Der Vorteil am VBA-.Code ist, dass er zentral und übersichtlich ist und ggf. mit Kommentaren versehen werden kann.
Wenn du alles mit Formeln umsetzt, wirst es dir später (1,2,viele Jahre) evtl. schwer fallen alles wieder zu finden und den Überblick zu erhalten.
Mitglied: 37414
37414 Feb 08, 2021 at 15:29:06 (UTC)
Goto Top
Hallo nochmal,

nach langem Hin und Her habe ich jetzt eine gute Lösung gefunden... und zwar ohne VBA-Code und ohne Unterschrift-Foto face-wink

Zu den Massen an verwendeten Formeln habe ich in einem extra Tabellenblatt detaillierte Beschreibungen aufgeführt, sodass ich alles auch später wieder nachvollziehen kann.

Ich habe alle , Zustimmungen, Genehmigungen und auch die Entscheidung über CODES gemacht.
Das heißt, dass zunächst der Antragsteller des Urlaubes seinen Code eingibt. Dadurch erhält eine bestimmte Zelle einen gelben Hintergrund mit einem OK. Ebenso die Vertretung und der Abteilungsleiter. Und am Ende, wenn die Geschäftsführung ihr OK gibt, erhält die Entscheidungs-Zelle einen grünen Hintergrund mit einem "genehmigt". Einige Einträge sind von anderen abhängig. Z.B. kann die Geschäftsführerin noch nicht ihr OK geben, wenn der Abteilungsleiter noch nicht seines gegeben hat......

Und natürlich habe ich auch alle Eventualitäten bedacht... z.B. dass es auch mal sein kann, dass es keine Vertretung gibt. Auch dann muss alles funktionieren. Dieses Feld erhält dann den Eintrag "ohne"... und dennoch kann der Antrag am Ende genehmigt werden face-smile

Also ich find´s richtig gut und die Kolleg/-innen auch, sowie die Geschäftsführung. Also alles bestens.

Danke für Eure super Tipps!!

Schöne Grüße,
imebro