Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
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
Inhaltsverzeichnis

VBA Wert aus Formelzelle

VBA Wert aus Formelzelle
28.05.2020 15:27:11
Tim
Hallo VBA Profis, ich sitze vor meiner Tabelle und komm nicht weiter. Ich habe einen Code der soll im Tabellenblatt eine Zelle überwachen und mir dann zb. bei Änderung eine 1 ausgeben. das macht er auch bei manueller Eingabe aber wenn eine Formel in der Zelle steht dann nicht. Habe auch schon hin und her mit Value probiert.Es will nicht. Ich wäre Dankbar wenn ihr mir etwas helfen könntet.
Grüsse Tim

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$VP$7" Then
Cells(7, 589) = "1"
End If
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Wert aus Formelzelle
28.05.2020 15:37:39
Martin
Hallo Tim,
wenn sich durch eine Formel der Wert einer Zelle ändert, wird das Worksheet_Change-Ereignis nicht ausgelöst. Du solltest besser eine Änderung der Zellen abfragen, die zur Berechnung der Formel in Zelle VP7 relevant sind.
Viele Grüße
Martin
AW: VBA Wert aus Formelzelle
28.05.2020 15:50:37
UweD
Hallo
Das Change Event wird bei Zelländerungen durch eine Formel nicht aufgerufen.
Du kannst aber die Eingabe-Zelle(n) überwachen, die Einfluss auf die Formel haben.
Z.B.

Tabelle1
 ABCD
12-101

verwendete Formeln
Zelle Formel Bereich N/A
D1=C1+B1+A1  


Wenn du die Eingabe A1:C1 überwachst ( Trigger für das Event )
kannst du danach das Formelergebnis abfragen ( D1 )

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:C1")) Is Nothing Then
If Range("D1") = 1 Then
MsgBox "Jetzt"
End If
End If
End Sub
LG UweD
Anzeige
AW: VBA Wert aus Formelzelle
28.05.2020 16:22:36
Tim
Hallo Ihr beiden ich danke Euch erstmal für die schnelle Antwort das nenne ich mal Lichtgeschwindigkeit.
Hallo Martin, ein bisschen Hilfe brauche ich noch so schaffe ich das nicht,leider.
Hallo Uwe habe code ausprobiert angepasst da bekomme ich"Fehler beim Kompilieren If Block.
Ok ich versuche mich mal besser auszudrücken. Zu überwachende Zelle ist ist Formel aus einer wenn Funktion Bsp. 1+1+1=3 dann gib 1 raus sonnst 0. Und das habe ich vergessen, Sorry und nur wenn Änderung auf 1 dann gib mir eine 1. Diese 1 will ich dann durch einen Button und überschreiben der Zelle wieder löschen.
Grüße Tim
Anzeige
AW: VBA Wert aus Formelzelle
28.05.2020 16:32:24
Tim
Ich nochmal, das mit dem Button und dem löschen der Zelle bekomme ich hin,das andere ist mir zu kniffelig.
Grüße Tim
AW: VBA Wert aus Formelzelle
28.05.2020 16:44:05
Tim
Eine Art Flip Flop (Hardwaremäßig gedacht) setzen/rücksetzen
AW: VBA Wert aus Formelzelle
28.05.2020 16:32:38
Martin
Hallo Tim,
im Prinzip hat dir Uwe genau dasselbe geschrieben wie ich, aber zusätzlich mit einem Beispiel demonstriert. Sein Code sieht auch gut bzw. fehlerfrei aus.
Poste doch mal deinen Code und schreibe welche Zellen (also die Zelladressen) bei der Formel in Zelle V7 relevant sind.
Viele Grüße
Martin
AW: VBA Wert aus Formelzelle
28.05.2020 17:29:13
Tim
ich habe mal eine Bsp Datei
Grüße Tim
AW: VBA Wert aus Formelzelle
28.05.2020 19:16:19
Tim
Der Code von Uwe geht auch bei mir jetzt ohne Fehler aber genau andersrum, ich hoffe meine Bsp. Datei hilft euch das ganze rüberzubringen.
AW: VBA Wert aus Formelzelle
29.05.2020 08:54:22
UweD
Hallo
habe den Code verändert.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"
Dim RNG As Range, Zielzelle As Range, Zielwert As Integer
Set RNG = Range("B5:D5")
Set Zielzelle = Range("F5")
Zielwert = 1
If Not Intersect(Target, RNG) Is Nothing Then
Application.EnableEvents = False
Zielzelle = -(WorksheetFunction.Sum(RNG) = Zielwert) ' Wahr=-1    Falsch=0
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number  0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Wobei die Formel genau das gleiche macht und ausreichen würde
LG UweD
Anzeige
AW: VBA Wert aus Formelzelle
02.06.2020 05:22:32
Tim
Hallo Uwe, hatte erst wieder jetzt Zeit. so passt der Code. Ich bedanke mich bei allen für die Mühe, bis zum nächsten Problem. Schön das es so ein gutes Forum gibt.Der eine kann mehr der andere eben nicht soviel, man kann nicht alles können,aber Excel finde ich gut.
Grüße Tim
Danke für die Rückmeldung (owT)
02.06.2020 10:40:10
UweD

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige