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

Skript durch Zelleneintragung starten

Skript durch Zelleneintragung starten
30.12.2002 11:40:14
Barbara Kanditsch
Dieses Theme habe ich schon vor ein paar Tagen hier angesprochen, habe auch Reaktionen bekommen, aber keinene Weg zum Ziel. Hier nochmals das Problem:
Ich trage einen Namen in C1 ein und schließe mit Enter ab. Das soll Excel zu Anlaß nehmen, eine bestimmte Routine ablaufen zu lassen (zB diese Eintragung in die Kopfzeile zu schreiben).


Das habe ich von Matthias als Antwort bekommen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.AddressLocal = "$C$1" Then Mach_hin
End Sub

Sub Mach_hin()
MsgBox "Jetzt bin ich mal kurz in dieser Prozedur..."
End Sub

Die Diskussion ist damals irgendwie stecken geblieben. Bei ihm geht das, bei mir nicht. Warum? Denn die Anweisung in der zweiten Zeile ("Wenn c1 die Zieladresse ist, führe Folgendes aus") aktiviert die Routine dann, wenn c1 aktuell ist, also dann, wenn ich zu c1 gehe. Nun mein Problem: Wenn ich zu c1 hinkomme, wird das Skript ausgeführt, und nicht wenn ich es verlasse. Ich gehe zu c1, DANN schreibe ich was rein, DANN drück ich Enter und bin dadurch in der nächsten Zelle, und nichts passiert. Erst wenn ich wieder zu C1 zurückkehre, wird das gewünschte Skript ausgeführt.

Nebenbei gesagt, man kann ja in den Optionen einstellen, dass der Cursor nicht zur nächsten Zelle gehen soll, wenn ich mit der Eintragung fertig bin. Aber das ist möglich, da ja jeder Anwender seine eigenen Einstellungen hat.

Von Urs kam dann die Antwort:

Option Explicit
Dim bln As Boolean

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim rng As Range
Set rng = Range("D2")
If Target.Address = rng.Address Then bln = True
If bln = True And Target.Address <> rng.Address Then

und dann Dein Code
end if
end if

Und das geht überhaupt nicht, insbesondere das zweite "end if" am Schluß. Und auch ohne geht es nicht.

Es muss doch eine Möglichkeit geben, ein Programm zu starten, wenn eine Eintragung in einer Zelle vorgenommen worden ist.

Bitte um Hiiiiilfeeeeeee,
Eure Barbara.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Skript durch Zelleneintragung starten
30.12.2002 11:46:32
Hajo
Hallo Barbara

der Code von Matthias ist schon richtig. hast Du den Teil Private Sub Worksheet_Change(ByVal Target As Range)
auch in VBA in die Tabelle geschrieben, nicht Modul, nicht DieseArbeitsmappe??

Eigentlich sollte man im Beitrag bleiben sonst geht die Übersicht verloren.

Gruß Hajo

Re: Skript durch Zelleneintragung starten
30.12.2002 11:51:51
Ramses
Hallo,

Immer neue Namen bringen auch nichts :-(

Kopiere den Code in die Tabelle wo er funktionieren soll.
Dein aufzurufendes Makro muss dann in einem Modul stehen:

Gruss Rainer

Re: Skript durch Zelleneintragung starten
30.12.2002 11:53:10
Anton
Hallo,

Matthias Code funktioniert mit Sicherheit.

Deine Beschreibung deutet aber daraufhin, dass du anstatt Worksheet_Change() Worksheet_SelectionChange() verwendet hast.

Anton

Anzeige
Re: Skript durch Zelleneintragung starten
30.12.2002 12:38:10
Barbara
Jetzt geht es.

Das ist es: Worksheet_Change und nicht Worksheet_SelectionChange.
Auf sowas muss man einmal draufkommen. Genauso wie die Tatsache, dass man C1 und nicht c1 schreben kann. Hat auch lange gedauert, bis ich da drauf gekommen bin.

Danke, Anton.

Re: Skript durch Zelleneintragung starten
30.12.2002 14:34:01
Barbara
Schaut da noch wer nach, wenn ich wo antworte, was schon 4 Tage zurück liegt? Ich glaube nicht. Und deshalb habe ich neu gepostet.
LG Barbara.
Re: Skript durch Zelleneintragung starten
30.12.2002 14:37:09
Martin Beck
Hallo Barbara,

Hajo hat schon recht. Wenn Du in dem alten Thread nachfragst, erscheint er komplett im Tagesfilter, und ich bin davon überzeugt, daß die "Vielantworter" dort mitlesen.

Gruß
Martin Beck

Anzeige
Re: Skript durch Zelleneintragung starten
30.12.2002 14:40:23
Georg_zi
Hallo Barbara

es ist so, es hat sich schon jemand in die Problematik eingearbeitet. Hier im Forum gibt es die Funktion Email Benachrichtigung, damit werden die Antworter zu eingehenden Beiträgen zu Ihren Antworten Benachrichtigt. Ich kann nur Vermuten das diese Funktion von vielen benutzt wird. Ich finde es ein Klasse Funktion. Ansonsten könnte ich keine Übersicht über meine Beiträge halten.
(ich vermute mal dieser Name ist vom Geschlecht eindeutiger als Hajo)

Gruß Georg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige