Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
552to556
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
552to556
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro starten bei Veränderung

Makro starten bei Veränderung
25.01.2005 16:10:29
Peter
Hi Leute!
Ist es möglich, ein Makro starten zu lassen, sobald ein Wert in ein Feld geschrieben wird ohne dass danach die Eingabetaste betätigt also der Wert in das Feld geschrieben wird?
Das heißt, nach dem ersten Zeichen das man in ein Feld schreibt wird das Makro gestartet, das Feld bleibt aktiviert, nach dem zweiten Zeichen ebenso usw und nicht erst nach vollendeter Eingabe, die von Worksheet_Change bzw SelectionChange verwendet wird.
Wäre nett wenn mir jemand weiterhelfen könnte, ob sowas überhaupt möglich ist!
mit freundlichen Grüßen
Peter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro starten bei Veränderung
25.01.2005 16:49:06
Nepumuk
Hallo Peter,
das wäre ein Makro, welches beständig im Hintergrund laufen müsste, um den Tastaturstream zu überwachen. Ein anderes Makro aus diesem heraus zu starten ist kein Problem. Nur andere Makros unabhängig von diesem nebenbei laufen lassen geht nicht, außer du hältst das Makro vorher bewusst an. Sollen spezielle Tasten überwacht werden, oder alle Eingaben?
Gruß
Nepumuk
AW: Makro starten bei Veränderung
25.01.2005 17:05:15
Peter
Hi Nepomuk!
Das Makro soll ein spezielles Feld in Hinblick auf Zahleneingaben überwachen!
Wie sähe so ein Makro aus, das beständig im Hintergrund läuft?
mfg
Peter
Gültigkeit
Beate
Hallo Peter,
kannst du die Zelle nicht über Einschränkung der Gültigkeit gegen Fehleingaben überwachen?
Gruß,
Beate
Anzeige
AW: Makro starten bei Veränderung
25.01.2005 17:20:03
Nepumuk
Hallo Peter,
folgenden Code in das Klassenmodul der Tabelle:


Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        bolTimerstart = True
        Call prcTimer
    Else
        bolTimerstart = False
    End If
End Sub


Folgenden Code in ein Standardmodul:


Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As LongAs Integer
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public bolTimerstart As Boolean
Public Sub prcTimer()
    Dim Key As Byte
    Do While bolTimerstart
        For Key = 48 To 57
            If GetAsyncKeyState(Key) + GetAsyncKeyState(Key + 48) = -32768 Then
                MsgBox "Zahl eingegeben"
            End If
        Next
        Sleep 100
        DoEvents
    Loop
End Sub


Gruß
Nepumuk
Anzeige
AW: Makro starten bei Veränderung
25.01.2005 18:06:26
Peter
Hi Nepomuk!
Erstmal vielen Dank für die schnelle und präzise Antwort! Danke!
Habe den Code so eingefügt wie du es beschrieben hast, ich verstehe ihn auch vom Aufbau her, leider funktioniert er aus irgendeinem Grund nicht. Bei Eingabe in das angegebene Feld passiert nichts. Gibt es da Unterschiede in Excel- bzw Windowsversionen?
mfg
Peter
AW: Makro starten bei Veränderung
25.01.2005 18:19:19
Nepumuk
Hallo Peter,
in meinem Programm wir die Zelle A1 überwacht. Hast du das im Worksheet_SelectionChange - Ereignis angepasst?
Gruß
Nepumuk
AW: Makro starten bei Veränderung
25.01.2005 18:51:55
Peter
Hi Nepomuk!
Ja, hab ich gemacht, in meinem Fall ist es C10. Funktioniert aber leider trotzdem nicht...
mfg
Peter
Anzeige
AW: Makro starten bei Veränderung
25.01.2005 19:06:01
Nepumuk
Hallo Peter,
ich hab's mal in eine Mappe gepackt und die Wartezeit halbiert, eventuell ist dein Rechner etwas langsamer.
https://www.herber.de/bbs/user/16850.xls
Gruß
Nepumuk
AW: Makro starten bei Veränderung
25.01.2005 20:09:55
Peter
Hi Nepomuk!
Es funktioniert!
Echt vielen tausend Dank!!!
Das war echt super mit der Tabelle! Klasse!
Tausend Dank!
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige