Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
320to324
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makrostart b. Tastatureingabe

Makrostart b. Tastatureingabe
15.10.2003 11:46:06
Wolfgang
Schönen guten Tag zusammen,

schlanke Frage: gibt es in VBA auch einen Befehl bzw. einen Makronamen, wie vergleichsweise 'Workbook_Open()', der benutzt wird, wenn ein Makro in Abhängigkeit von Eintragungen in Zellen ausgeführt werden soll? Beispiel: Ich habe ein Tabellenblatt, in dem ich die Zeiterfassung für jede Menge Tests nachvollziehe. In Abhängigkeit von der Eintragung einer Testnummer z.B. in Spalte A werden dann per SVERWEIS aus einer Gesamtübersicht die Informationen des betreffenden Tests rausgesucht und angezeigt (was für ein Test an welchem Produkt, etc.). Es ergibt sich eine immer größer werdenden Matrix mit zahllosen Formeln.
Ich möchte nun die Daten per Makro online abrufen, wenn eine Eingabe gemacht wird. Es müßte also feststellbar sein, daß eine Eingabe durchgeführt wird und in Abhängikeit davon, was eingegeben wird, werden die Daten an die betreffenden Stellen kopiert. Ich müßte also als Übergabewerte für das Makro wissen, in welcher Zeile und Spalte ein Eintrag gemacht wurde. Und ich müßte das in dem Moment wissen, wo die Zelle geändert wird, damit dann direkt die Daten abgerufen und dahin kopiert werden, wo sie hinsollen.
Ich habe bereits verschiedene Anläufe unternommen, aber leider nichts finden können, das das leisten könnte. Weißt jemand Rat? Wahrscheinlich hängt es eben einfach nur an diesem Makronamen, der bereits existiert, den ich in der Online-Hilfe nur bisher nicht habe finden können. Vorab vielen Dank für Eure Hilfe.

Viele Grüße, Wolfgang.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makrostart b. Tastatureingabe
15.10.2003 11:55:03
Galenzo
Hallo,

dazu benützt du am besten das Ereignis Worksheet_Change, das bei Änderungen in Zellen ausgelöst wird. Als Parameer "Target" wird hat dieses Ereignis auch die Zelle in der ein Wert geändert wurde.
Dort schreibst du nun deine If..then..-Prüfungen rein. Du mußt also zunächst prüfen, ob die Eingabe in DER Zelle erfolgt ist, die der "Auslöser" sein soll. Anschließend verzweigst du dann weiter - je nach eingegebenem Wert.

Viel Erfolg dabei!
Danke
15.10.2003 12:16:29
Wolfgang
Hallo Galenzo,

hab vielen Dank für die schnelle Antwort. Hatte mir dieses Ereignis auch schon mal angeschaut, war aber an der Target-Problematik gescheitert. Werde es mir nochmal vornehmen und nachschauen, ob ich es nicht doch hinbekomme. Vorerst mal vielen Dank für die Hilfe und noche einen schönen Tag.

Viele Grüße, Wolfgang
Anzeige
AW: Target =? Range
15.10.2003 12:29:49
Galenzo
Die Prüfung, ob ein Wert in eine bestimmte Zelle eingegeben wurde ist eigentlich relativ einfach. So z.B. wird geprüft, ob in Zelle A1 etwas eingegeben wurde:

If Target=Range("A1") then
' hier kommt dann die Verzweigung je nach eingegebenem Wert
End If

Für die Verzweigung nach Zellwert bietet sich z.B. die SELECT CASE - Ánweisung an.
Ihr seid BOMBIG!!!
15.10.2003 13:44:56
Wolfgang
Tada - hätte mir denken können, daß die Lösung supereinfach ist. Nur drauf kommen muß man erst mal. Aber das kommt davon, wenn man sich das alles selbst beibringen muß und die Besonderheiten (vor allem die Möglichkeiten) von VBA gar nicht so genau kennt. Basic ist easy - VBA (eigentlich) auch *grins*

Vielen, vielen Dank für diesen super-hilfreichen Zusatz. Jetzt kann mich eigentlich nichts mehr aufhalten... ;-)

Viele Grüße, Wolfgang
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige