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

Bei Änderung eines Zellenwertes Makro ausführen

Bei Änderung eines Zellenwertes Makro ausführen
18.07.2008 12:05:00
John
Hallo Zusammen,
ich möchte gerne ein Makro ausführen, wenn man in eine Zelle etwas eingetragen hat.
Konkret soll also nach "Return" ein Makro den neuen Wert der Zelle in eine mysql-DB schreiben. Das Schreiben klappt so ohne Probleme - mir fehlt nur noch der "Trigger-Event".
Ich konnte da jetzt nirgends etwas finden - hat jemand einen Tipp?
Tausend Dank schonmal vorab.

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

Betreff
Datum
Anwender
Anzeige
AW: Bei Änderung eines Zellenwertes Makro ausführe
18.07.2008 12:14:00
Beverly
Hi John,
dazu kannst du das Workseet_Change Ereignis verwenden

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then dein_makro
End Sub




AW: Bei Änderung eines Zellenwertes Makro ausführen
18.07.2008 12:16:00
UweD
Hallo
der Code muß in...
- rechte Maustaste auf den Tabellblattname unten
- Code anzeigen..
- reincopieren
- den Bereich noch abändern, wann das Makro aktiv werden soll (hier nur A1 und B1)

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B1")) Is Nothing Then
'dein Makro
End If
End Sub


Gruß UweD

Anzeige
AW: Bei Änderung eines Zellenwertes Makro ausführen
18.07.2008 12:37:12
John
Erstmal vielen Dank - das bringt mich schon ein Stück weiter (vor Allem, da ich den Aktivierungsraum einschränken kann) - löst aber noch nicht das Problem:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:Z")) Is Nothing Then
fncUpdateZelle
End If
End Sub


Das Makro startet die Funktion.
Allerdings startet die Funktion mit einem Fokus auf eine neue Zelle. Und das Problem ist, dass die Zelleingabe den Fokus ja in beliebige Richtung verschiebt und ich aber ja den gerade geänderten Wert in die DB schreiben möchte - jetzt das System aber nicht weiss, wo der letzte Zellfokus lag.
Bsp:
Ich ändere den Wert in Zelle C3 und kann jetzt mit den Pfeiltasten oder der Return-Taste aus der Zelle raus. Der Wert ändert sich und triggert das Makro - und verschiebt aber den Fokus - damit wird der gerade geänderte Wert nicht geschrieben.
Eigentlich müsste das Makro ablaufen, bevor sich der Zellfokus verschiebt... geht das irgendwie?
Klar könnte ich auch die ganze DB schreiben, aber das ist mit der Performance Unsinn - ich will nur einen Wert schreiben.

Anzeige
AW: Bei Änderung eines Zellenwertes Makro ausführen
18.07.2008 12:55:09
UweD
Hallo
du suchst die Adresse der Zelle, die gerade geändert wurde?

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:Z")) Is Nothing Then
'die Zelle der Änderung ermitteln
MsgBox "Zelle: " & Target.Address
MsgBox "Spalte: " & Target.Column
MsgBox "Zeile: " & Target.Row
fncUpdateZelle
End If
End Sub


Gruß UweD

AW: Bei Änderung eines Zellenwertes Makro ausführen
18.07.2008 15:22:00
John
Hallo Uwe,
danke für den Tipp.
Ich habe jetzt mal versucht, der Funktion die Variable "Target" mit zugeben und habe immer einen Fehler bekommen. Kann aber auch sein, dass mein Syntax da falsch ist.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:Z")) Is Nothing Then
fncUpdateZelle (Target)
End If
End Sub


Da kriege ich den Hinweis kein Objekt vorhanden.
Ich habe dann einen Kunstgriff gemacht und das geht wiederum:


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:Z")) Is Nothing Then
Cells(Target.Row, Target.Column).Activate
fncUpdateZelle
End If
End Sub


Vielleicht liege ich auch viel zu kompliziert...

Anzeige

48 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige