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

Makro ausführen beim verlassen einer Zelle

Makro ausführen beim verlassen einer Zelle
02.12.2003 08:58:58
Kai
Hallo Leute,
ich habe schon seit einiger Zeit versucht eine Lösung für mein Problem zu finden, leider ohne Erfolg. Ich möchte gerne, dass ein Makro automatisch beim verlassen einer Zelle (wenn möglich mehrere Zellen) ausgeführt wird. Bisher muß ich immer auf einen Button klicken, was zwar gut funktioniert doch teilweise recht "lästig" ist da ich scrollen muß. Es muß doch eine Möglichkeit geben wenn ich in eine Zelle (z.B. A1) eine Zahl eingebe und in eine andere Zellen springe, das ein Makro ausgeführt wird. Ich bekomme das einfach nicht hin.

Vielen Dank für jeden Tip!
Kai

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen beim verlassen einer Zelle
02.12.2003 09:17:19
junny
Hai Kai,
hau mal folgenden Code zu deinem Makro rein. (bei mir mach ich dadurch alle Buchstaben GROSS) bastel es halt um

Gruss volker

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
'   alle Buchstaben Groß in einem bestimmten Bereich
Dim RaBereich As Range, RaZelle As Range
Application.EnableEvents = False
'   Bereich der Wirksamkeit
Set RaBereich = Range("I5:I319")
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
RaZelle.Value = UCase(RaZelle.Value)
End If
Next RaZelle
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub

Anzeige
AW: Makro ausführen beim verlassen einer Zelle
02.12.2003 09:54:57
Kai
Wer kann mir den das untere Makro so ändern, dass es ausgeführt wird wenn ich eine Zahl in den Bereich "AZ25:AZ44" eingebe. Anschließend soll die nächste Zelle aktiviert werden. Als Beispiel: Ich gebe eine "2" in die Zelle "AZ25" ein, dann soll das Makro ausgeführt werden und zum Schluß die Zelle "AW26" aktiviert werden. Bei Eingabe in die Zelle "AZ26" soll die Zelle "AW27" aktiv sein. (Immer eine Zeile nach unten und 3 Spalten nach vorn). Ich habe versucht eine Datei hochzuladen, leider kommt immer die Meldung "Ungültiger Dateiname", obwohl an "Muster.xls" eigentlich nichts auszusetzen ist. Wer mir (und vielen Fußballvereinen in ganz EUROPA) helfen möchte, kann sich die Musterdatei auch von meiner HP runterladen. (www.kadmo.de - Turnierplanung - Musterplan).
Ich wäre Euch wirklich sehr dankbar wenn es diesmal klappen würde.
Hier aber erst mal das Makro:


Sub GrpA()
' GrpA Makro
Range("BM31:BR35").Select
Selection.Sort Key1:=Range("BM31"), Order1:=xlDescending, Key2:=Range( _
"BR31"), Order2:=xlDescending, Key3:=Range("BO31"), Order3:=xlDescending _
, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
DataOption3:=xlSortNormal
End Sub


Ich hoffe ich kann mein Problem mit Eurer Hilfe, endlich lösen.

Viele Grüße
Kai
Anzeige
AW: Makro ausführen beim verlassen einer Zelle
02.12.2003 10:02:57
Nike
Hi,
wie wäre es mit dem Abfangen einer Änderung:


Private Sub Worksheet_Change(ByVal Target As Range)
Target.Offset(1, 3).Select
End Sub


Wegen dem Hochladen, es gibt wohl bereits ne Datei, die so heißt,
also einfach mal in Muster0815.xls umbenennen, dann sollte es funken...

Bye

Nike
AW: Makro ausführen beim verlassen einer Zelle
02.12.2003 09:19:49
soendi
hai kai!
ein denkanstoss! -> das ist, wenn einfach die zelle ändert...


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
[dein Makro hier]
End Sub


spass!!
soendi
Anzeige
AW: Makro ausführen beim verlassen einer Zelle
02.12.2003 09:20:35
Nike
Hi,

mit diesem Code pro Tabellenblatt:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target <> rngTarget Then
'viel code...
'und am Ende
Set rngTarget = Target
End If
End Sub


Wobei du beim Öffnen der Datei eine Startvariable mit der ersten gewählten Zelle
belegen solltest um sie dann in diesem Code abzugleichen...


Private Sub Workbook_Open()
With Worksheets(1)
.Activate
.Range("A1").Select
End With
Set rngTarget = Worksheets(1).Range("A1")
End Sub


Nicht zu vergessen in einem Modul diese Variable Public zu definieren:
Public rngTarget As Range

Bye

Nike
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige