in Excel mittels VBA suchen und Wert zurück geben

  • Excel

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Kathleen.

    in Excel mittels VBA suchen und Wert zurück geben

    Puh wie beschreibt man es am einfachsten :)

    Ich baue gerade eine Minidatenbank auf mittels Excel.
    Jeder Mitarbeiter hat eine spezifische MA-Nummer, eine dazugehörige Registerkarte und eine eingeteilte Gruppe. Auf der Karte wird mittels Formular Urlaubs- und Krankenscheine eingetragen, gelöscht und so weiter.
    nun möchte ich eine Anwesenheit auswerten und Pflegen
    Wenn ein Urlaub zb eingegeben wird soll, wenn möglich in dem Kalender der Gruppe der Status auf U gestellt werden. gleiches bei Krankheit mit einem K
    Geht so was überhaupt?
    Habe an ein Array gedacht bin aber glaube ich zu blöd eins zu definieren. Allerdings befürchte ich das das VIEL komplizierter wird ...
    Hoffe auf einen Denkanstoß :)

    Grüße dalass
    Fals du noch die möglichkeit hast steig wenigstens auf Access um. Damit hast du eine Datenbank und keine Tabellenkalkulation
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Ich bin derzeit an einem Ähnlichen Projekt in Excel. Nur deinen Urlaub habe ich nicht drin. Ich mache das auch über Formulare. Es funktioniert noch lang nicht alles aber vielleicht kann ich dir ja so auch helfen s. Link

    drive.google.com/file/d/0B_cu1…xMk9kV00/view?usp=sharing
    "Der Visual Basic ist nur so schlau wie der, der davor sitzt" - Na schön! Dann steh ich eben auf!

    "Wenn du denkst es geht nicht mehr kommt irgendwo ein Lichtlein her"
    If Tunnel.Licht = JemandImTunnelDerVerzweifeltIst Then Licht.Aus = True
    @ Schamash - leider nein. bin irgendwie schon mit den anderen Dingen so weit das ich ungerne wieder bei NULL anfange möchte :(

    @Kathleen - Einige Routinen sind vom denken her nicht schlecht. Funzen aber leider nicht, zumindest bei mir. habs zuhause und auf Arbeit getestet weiss aber leider nicht wieso nix funzt :(
    ja ich denke das sind die routinen, an denen ich auch grade verzweifel... unerklärliche fehler die nur ab und zu auftauchen sind auch ganz nett... (nicht)
    "Der Visual Basic ist nur so schlau wie der, der davor sitzt" - Na schön! Dann steh ich eben auf!

    "Wenn du denkst es geht nicht mehr kommt irgendwo ein Lichtlein her"
    If Tunnel.Licht = JemandImTunnelDerVerzweifeltIst Then Licht.Aus = True
    Hallo,

    was funzt denn nicht? Einige Subs fehlen ja noch.

    Mein erster Test war nicht so erfolgreich. Es wird zwar nach einem Passwort gefragt, jedoch werden nur PINs fehlerfrei akzeptiert. Bei einem Wort fällt er auf die Nase. Wiederholte Eingabe macht nur Sinn, wenn man Sternchen statt Klartext bei der Eingabe sieht.

    Probleme sehe ich bei der Manipulationssicherheit und dem Datenschutz. Die Excel Anwendung unsichtbar zu schalten kann man schnell wieder rückgängig machen. Datenschutz, weil es MA A nichts angeht, wann MA B gestempelt hat. Excel ist, was Sicherheit / Schutz von Makros und Blättern betrifft, nicht ganz so gut aufgestellt. Access wäre da die bessere Wahl.

    Ansonsten ist es wie oft beim Programmieren. Das Programm an sich steht in zwei Tagen. Dann braucht man, um alle möglichen (Bedien-) Fehler abzufangen noch einige Tage länger.

    PseudoCode:

    Visual Basic-Quellcode

    1. If IsNumeric(passwort1) And IsNumeric(passwort2) And Val(passwort1) = Val(passwort2) And Val(passwort1) >= 1000 Then' mindestens 4stellige PINs
    2. MsgBox "Passworteingabe erfolgreich.", vbInformation + vbOKOnly, "Zufrieden"
    3. Else
    4. MsgBox "Eingabe ungültig", vbCritical + vbOKOnly, "Mecker!"
    5. End If


    Wobei VAL auch Dezimalzahlen "frisst". CINT() wäre da eine andere Möglichkeit.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Hallo Senior Dalass,
    Du kannst die Excel Blätter als Datenspeicher verwenden und mittels ADODB-Connection unter Verwendung von SQL Statements darauf zugreifen.
    Das funktioniert ganz gut und du benötigst damit keine eigene Datenbank, falls das das Thema war. Für nähere Informationen musst du dich durch die Materie ADO/SQL/Excel/VBA durchgoogeln oder -yahoon.
    lg Philipp
    Hallo,

    wer ist Señor Dalass? Die letzte Frage ist eher nach den versteckten / unentdeckten Fehlern. Mein Hinweis bezüglich des Datenschutzes bei Excel war halt nur ein Hinweis.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    AH-OK. Habe zwar hochgescrollt, aber nur die Nicks gecheckt.

    Ich habe mal einen Kalender für mich gebaut, welcher meine Bereitschaftstage, Urlaub und Co. "verwaltet". Dabei bin ich immer weiter auf Hürden gestossen. Für mich allein kam am Ende eine Lösung nur mit Arbeitsblatt, vielen Verweisen und bedingter Formatierung zustande. Der Urlaubsplaner für das ganze Team brauchte dann schon Makros. Etwas aufwändiger wird es, wenn die Tage noch addiert werden sollen. Da muss man dann Wochenenden, Feiertage, Tariffrei und Kranktage wieder abziehen. Für den Komfort habe ich noch die Ferien farblich hervorgehoben.

    Ich finde es immer von Vorteil, wenn schon eine Mappe mit dem Gerüst, wie es später aussehen soll, beigefügt ist.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Der Datenschutz ist in sofern gewährleistet, dass man bei workbook open die application also die excel arbeitsmappe sofort ausblendet. Für den Fall dass excel meint es könne diesem Datenblatt nicht vertrauen und die makros noch nicht aktiviert blendet man einfach die arbeitsblätter aus und serviert der neugierigen Nase ein leeres arbeitsblatt B)
    "Der Visual Basic ist nur so schlau wie der, der davor sitzt" - Na schön! Dann steh ich eben auf!

    "Wenn du denkst es geht nicht mehr kommt irgendwo ein Lichtlein her"
    If Tunnel.Licht = JemandImTunnelDerVerzweifeltIst Then Licht.Aus = True
    Hallo,

    selbst Microsoft erwähnt, dass die Sicherheit jetzt nicht so der Bringer ist.

    Warnung :

    • Wenn Sie Ihr Kennwort verloren oder vergessen haben, kann es nicht von Microsoft für Sie abgerufen werden.
    • Sie sollten nicht annehmen, dass eine Arbeitsmappe oder ein Arbeitsblatt nur durch die Anwendung eines Kennworts sicher ist. Sie sollten Excel-Arbeitsmappen immer mit Bedacht verteilen, die vertrauliche personenbezogene Daten wie Kreditkartennummern, Sozialversicherungsnummern, Mitarbeiterkennungen usw. enthalten können.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    joa... also bei mir reicht es so aus, weil eh keiner hier außer mir vba kann, die kämpfen alle noch mit excel an sich hihi
    "Der Visual Basic ist nur so schlau wie der, der davor sitzt" - Na schön! Dann steh ich eben auf!

    "Wenn du denkst es geht nicht mehr kommt irgendwo ein Lichtlein her"
    If Tunnel.Licht = JemandImTunnelDerVerzweifeltIst Then Licht.Aus = True
    Also. Ich habe es nun so geregelt, dass es einen einzigen Admin im System gibt. Das ist hier erforderlich da bei uns die Teamleitung vertretend für den Chef bestätigen muss dass der Chef die Überstunden genehmigt oder Arztbesuche zur Kenntnis genommen hat. Dieser Bereich steht bei mir in naher zukunft jetzt an. Das Erstellen der Mitarbeiterdatensätze ist soweit in trockenen Tüchern, also die standart Texte wurden per Range.Text eingefügt und eine Sicherungsdatei des einzelnen Datenblattes wird bei erstellen und Löschen des Benutzers gespeichert und in einem Ausgeblendeten Ordner gesichert. (Hoch lebe die Datenspeicherung)
    Nun folgt das ändern des PW (no problemo :D) und dann vermutlich das Stempeln an sich. Danach kommt das schwierigere: Die Sonderereignisse wie Krank, Urlaub und Überstunden.
    Zu letzterem werde ich versuchen über Outlook eine Standart Mail zu kreieren, die dann an die Teamleitung geht. Ich schätze ich werde noch Funktionen verteilen, damit die Teamleitung auch den Eintrag bestätigen kann zusätzlich zu ihren eigenen Daten, da die auch stempeln.
    "Der Visual Basic ist nur so schlau wie der, der davor sitzt" - Na schön! Dann steh ich eben auf!

    "Wenn du denkst es geht nicht mehr kommt irgendwo ein Lichtlein her"
    If Tunnel.Licht = JemandImTunnelDerVerzweifeltIst Then Licht.Aus = True