Helft mir, aus Excel einen Vertragsverhandler zu machen... :-)

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von bastimw.

    Helft mir, aus Excel einen Vertragsverhandler zu machen... :-)

    Hallo alle!
    Ich habe hier eine etwas komplexere Aufgabe, bzw. Problem zu lösen. Bin für jede Hilfe oder alternative Lösung dankbar.
    Eine Lösung, die von allen Excelversionen von 2003 aufwärts unterstützt wird, wäre ideal, da 20 verschiedene Personen mit unterschiedlichen Excelversionen mit der Datei arbeiten müssen. Aber bitte auch Lösungen posten, die nur mit Excel 2010 realisiert werden können...
    Problemstellung:
    Ich habe eine Arbeitsmappe erstellt, mit der ich eine Vertragsverhandlung mit einem Sportler simulieren will.
    Der Nutzer gibt über ein Button-Steuerelement ein Vertragsangebot ab und wenn dieses Angebot bestimmte Kriterien erfüllt, akzeptiert der Spieler den Vertrag. Soweit so gut. Bin zwar damit noch nicht ganz fertig, aber das kriege ich noch irgendwie hin. Jetzt zum Problem:
    Um zu verhindern, das der Nutzer solange per Trial and Error Daten eingibt, bis er die für ihn günstigste Vertragsvariante gefunden hat, soll in dem Moment, in dem eine bestimmte Zelle den Wert WAHR erhält, folgendes passieren:
    1. Ein Fenster soll sich öffnen, in dem sinngemäß stehen soll, dass der Spieler (Spielername= 'Skater Mask'!C11) das Vertragsangebot akzeptiert hat.
    1a. Ich weiß nicht, ob das möglich ist, aber wenn man in diesem Pop Up Fenster auch gleich einen noch genauer zu benennenden Hyperlink unterbringen könnte, wäre das ziemlich genial!
    Ansonsten müsste dieser Hyperlink dann irgendwo anders in der Tabelle erscheinen.
    2. Solange in Feld Skater Mask!C11 der Name dieses Spielers steht, sollen keine Änderungen an der Tabelle Skater Mask mehr möglich sein (ausser natürlich das Namensfeld selber 'Skater Mask'!C11, damit sie einem anderen Spieler Angebote machen können, d.h., wenn der Name sich ändert, müssen alle ungeschützten Felder der Tabelle wieder frei sein).

    2a. Vermutlich müsste ich das irgendwie so lösen, das ich bei Eingabe eines Namens in das Feld C11 sofort prüfe, ob in der Vergangenheit für diesen Spieler schon ein erfolgreiches Angebot abgegeben wurde.. Ich habe ein Tabellenblatt, in dem alle relevanten Namen drinstehen. Da müsste ich dann wohl eine zusätzliche Zelle ("Vertrag unterzeichnet") einfügen und diese mit einem Wert füllen, wenn das Angebot angenommen wurde... Wie mach ich das? Mit SVERWEIS lese ich alle möglichen Sachen aus, aber wie suche ich nach dem Spielernamen und schreibe dann was in eine Zelle rein?
    3. Die Datei soll automatisch und ohne Nachfrage gespeichert werden.

    Die Tabelle Skater Mask hat standardmäßig Blattschutz aktiviert. Es gibt ungefähr 15 Felder, in die Eingaben gemacht werden dürfen. Diese müssten dann, bis auf C11 ebenfalls gesperrt werden.

    Achtung:
    Ich habe in der Datei bereits ein VBA laufen, welches bei Öffnen und Schliessen der Datei alle Tabellenblätter ausser der Eingabemaske ausblendet. Nur falls dies wichtig sein sollte.
    Wollte ich aus Platzgründen nicht gleich mitposten, läuft über .Visible = xlVeryHidden

    Falls ihr mir hiermit irgendwie helfen könnt, wäre ich euch unendlich dankbar. Ich habe schon soviele Stunden in das Ding investiert, das es echt schade wäre, wenn das ganze jetzt an diesem Thema scheitert. Denn darauf vertrauen, das die Nutzer den erstbesten angenommenen Vertrag weitermelden, kann man wohl nicht...

    Ich hänge das Ding mal an diese Nachricht ran. Ich habe die Datei als Excel 2003 und als Excel 2010 Version. Momentan werden die eingebenen Vertragsdaten noch nicht geprüft, es würde mir also völlig reichen, wenn ihr irgendein Feld abfragt, welches ihr dann zum Testen manuell auf WAHR stellt.

    Das geheime magische Wort, welches ihr benötigt, lautet E1ys1um

    Gruß,

    Markus
    </BIG></BIG></BIG>
    Dateien
    das ist kein Akt ->
    Du mußt in das Makro ein
    Private Sub auto_open()
    hier könntest du jetzt nen Timer einbauen der alle X sEk deine Zelle abfragt
    end sub

    oder besser ein:
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    --> hier die Range mit if Abfragen
    end sub

    dann kannst du alle wilden Dinge tun die du gern tun willst.

    (ansonsten bitte konkreter)