Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Frage bzgl. VBA und Excel
#1
Ich hätte da mal eine Frage....

Es gibt bei mir eine Datei, mit der ich arbeiten muss / soll, welche ich von einem Kollegen übernommen habe, der inzwischen in Rente ist. Ihn kann ich leider nicht mehr fragen.
Es geht um eine Zeiterfassung für Mitarbeiter.
In dieser Datei gibt es für jeden Mitarbeiter ein Arbeitsblatt und in diesen dann Zellen (Zeile 5) mit diesem Inhalt:

=@Schicht(Schichtpläne!$A$2:$NB$47;I3;$C$5)

Es gibt ein - eigentlich ausgeblendetes - Arbeitsblatt "Schichtpläne", auf dem diverse Jahresschichtverläufe vorhanden sind.
Ebenso ein Blatt mit den Mitarbeiterdaten und eines mit den Feiertagen - ebenfalls eigentlich ausgeblendet

Die einzelnen Arbeitsblätter der Mitarbeiter sind so aufgebaut, daß nur die Ausweisnummer / Personalnummer in Zelle J2 eingegeben werden muss und die Daten wie Name (Zelle P2), AMEI (X2), Werk (E2), Abteilung (G2) und Schichtplan (C5) mittels SVERWEIS aus dem Tabellenblatt "Mitarbeiter" gezogen wird.

In der Zeile 3 steht ein fortlaufendes Datum, basierend auf dem Datum, welches in Zelle C4 eingetragen wird.

Ich verstehe die obige Formel soweit, als dass sie im Arbeitsblatt Schichtpläne suchen soll, welche Schicht am Datum aus (im obigen Beispiel) I3 gemäß dem Schichtplankürzel aus C5 gearbeitet werden muss.
Aber ich verstehe leider nicht, was das "@Schicht" in der Formel zu bedeuten hat und was es bewirkt.

Was mir aufgefallen ist, ist, daß ich die Datei als *.xlsm speichern muss, weil sie Funktionen enthält, welche unter *.xlsx nicht funktionieren würden.

Daher vermute ich, daß es etwas mit Makro oder VBA zu tun haben muss.

Kann mir einer der Experten - für einen blutigen Excel-Laien verständlich - erklären, was das ist?
Und könnte man so etwas ggf. auch ohne VBA sondern nur mit "normalen" Excel-Formeln darstellen?

Ich habe mal eine Beispieldatei angehängt.

Vielen Dank schon mal im Vorfeld.
Oliver


Angehängte Dateien
.xlsm   Zeiterfassung_Beispiel.xlsm (Größe: 253,87 KB / Downloads: 12)
und aus dem Chaos sprach eine Stimme zu mir "lächle und sei froh - es könnte auch Office sein".
Ich lächelte und war froh ... und es war Office  Confused
Antworten Top
#2
Hi Oliver,

VBA heißt erstmal Visual Basic for Applications und ist eine Programmiersprache auf Basis von BASIC. Das bedeutet, man kann damit z.Bsp. in Excel kleine Programme erstellen, die viele Routinearbeiten erleichtern oder Sonderraufgaben erfüllen. 
Natürlich kann man, solange sich die selbsterstellte Anwendung lediglich auf Aufgaben bezieht, die Excel von Haus aus bietet, auch ohne VBA auskommen, jedoch sobald in Deiner Datei irgendwo auch nur eine selbstentwickelte Funktion aufgerufen wird, dann musst Du entweder schauen, ob das mit Excel Bordmitteln zu ersetzen geht oder darauf verzichten, wenn kein VBA eingesetzt werden soll. Ob das in Deiner Datei möglich ist, kann ich nicht sagen, weil ich sie mir nicht angeschaut habe, denn ich vermute mal, dass Dein Kollege da ordentlich Zeit und Arbeit reingesteckt hat und deutlich mehr als einen 4-Zeiler geschrieben hat. (Vielleicht sagen die, die die Datei runtergeladen haben mal was dazu...)
Da Du Dich aber, wie Du sagst, nicht auskennst, würde ich mir die Mühe sparen das ändern zu wollen. Solange es funktioniert gibt es auch keinen Grund dazu. Für Außenstehende erst recht nicht. Weshalb sollten die ihre Zeit in ein Projekt ohne weiteren Nutzen investieren? 
Allerdings, wenn Dich Deine Neugier so sehr plagt, dass Du kurz vor dem Platzen bist, steht es Dir selbverständlich frei, Dich in die Materie einzuarbeiten...

PS: Die Vermutung, dass eine xlsm Datei Makros enthält liegt nahe, ist aber nicht zwingend. Ich kann auch eine Datei ohne Makros als xlsm Datei speichern....
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

[-] Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:
  • snb
Antworten Top
#3
Hi

Der VBA Teil deiner Datei sollte durch eine einfache Index(abc;Vergleich;Vergleich) ersetzbar sein.
In D5.
Zitat:=INDEX(Schichtpläne!$B$3:$NC$35;VERGLEICH($C$5;Schichtpläne!$A$3:$A$35;0);VERGLEICH(D$3;Schichtpläne!$B$2:$NC$2;0))

Gruß Elex

PS: Leicht ist es für die Frager hier in letzter Zeit nicht gerade. Immer wird eine Bsp.Datei ausgerufen, ist eine da werden nutzlose Romane verfasst in denen steht dass die Datei nicht angesehen wurde. Confused
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Oliver-HB
Antworten Top
#4
Danke schon mal.
Ich werde die Tage mal ausprobieren, ob man das austauschen kann.
Hintergrund der Frage war, daß wir zukünftig möglichst nix mehr mit Visual Basic oder Makros machen sollen bzw. können, weil alles im Sharepoint gespeichert werden soll.
Und - wenn ich richtig informiert worden bin - da das ein oder andere nicht (mehr) funktioniert
und aus dem Chaos sprach eine Stimme zu mir "lächle und sei froh - es könnte auch Office sein".
Ich lächelte und war froh ... und es war Office  Confused
Antworten Top
#5
Hi,

das stimmt, wenn man eine Datei direkt in Sharepoint bearbeitet, dann funktionieren keine Makros. Man kann Sharepoint allerdings so einstellen, dass die Datei direkt in der Desktop-App geöffnet wird. Dann kann man auch Makros verwenden. Ich weiß allerdings nicht, ob das anderweitige Nachteile in Bezug auf gleichzeitiges Bearbeiten von Dateien mit sich bringt.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#6
Hallöchen,

für bessere Hilfestellungen sollten die betreffenden Inhalte / Formeln / Blätter nicht geschützt sein.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
(07.12.2023, 14:46)HKindler schrieb: Hi,

... Man kann Sharepoint allerdings so einstellen, dass die Datei direkt in der Desktop-App geöffnet wird. Dann kann man auch Makros verwenden...
Das Problem dürfte hierbei nur sein, daß es entweder a.) eine "globale" Einstellung sein muss oder b.) jeder MA diese Einstellung selbst vornimmt.

a.) wird bei uns im Unternehmen nicht klappen, weil es da Konzern-Vorgaben gibt
b.) wird bei uns nicht klappen, weil viele Leute die entsprechende Selbst-Disziplin das einzustellen nicht haben - leider.

Daher ist das leider keine Lösung. Aber dennoch danke für den Hinweis.
und aus dem Chaos sprach eine Stimme zu mir "lächle und sei froh - es könnte auch Office sein".
Ich lächelte und war froh ... und es war Office  Confused
Antworten Top
#8
Hallöchen,

hat es denn mit der Formel von Elex geklappt?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste