Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
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? wenn?

VBA? wenn?
24.08.2023 15:46:01
Pitt
Hallo,

habe eine sogenante Intelligete Tabelle in den jetzt z.B. in K6:K22 die Werte akualisiert werden.
Sollte nun ein Wert in €uro in K9 akualisiert werden, so soll das heutige Datum in L9 geschrieben.
Wird der Wert nicht aktualisiert, soll keine Veränderung in L9 statt finden.

In K: holt er sich den Euro-Wert von einem anderen Tab.
Vielleicht habt Ihr eine Idee?

Danke
Gruß Pitt

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA? wenn?
24.08.2023 15:55:45
daniel
Hi
in K9:K22 stehen Formeln?
eine Änderung eines Formelergebnisses durch Neuberechnung der Formel ist jetzt für Excel keine Änderung, die sich in irgendeiner Form mit den vorhandenen Methoden direkt erkennen oder dokumentieren lässt.
Gruß Daniel
AW: VBA? wenn?
24.08.2023 15:55:50
Oberschlumpf
Hi Pitt

schreib ins Change-Ereignis des Tabellenblatt, in dem sich deine intell. Tabelle befindet, diesen Code (von mir ungetestet)


If Target.Column = 11 Then
Range("L" & Target.Row).Value = Date
End If

Hilfts?
Nein? Dann zeig bitte per Upload eine Bsp-Datei mit Bsp-Daten.

Ciao
Thorsten
Anzeige
VBA? wenn?
25.08.2023 10:53:20
Pitt
Hallo,

Danke für Eure vielen Antworten.
Habe nun einmal eine Beispieldatei hochgeladen.
Die Daten werden von anderen Tabs in die Zellen der Intelligenten Tab K6;K7,K8 usw eingetragen.

Nun soll einfach das Datum in der dazu gehörigen Zelle L6;L7;L8 usw eingetragen werden.
Das klappt auch bei der Zelle K8, jetzt müßte es nur bei der Tabelle klappen.

Anbei der Code womit es schon klappt in der einen Zelle.

Danke

Gruß Pitt

Private Sub Worksheet_Calculate()

Static vK8 As Variant

Application.Calculation = xlCalculationManual
Application.EnableEvents = False

If IsEmpty(vK8) Then
If Range("K8") > 0 Then
Range("L8") = Date
vK8 = Range("K8")
End If
ElseIf vK8 > Range("K8") Then
vK8 = Range("k8")
If Range("K8") > 0 Then
Range("L8") = Date
Else
Range("L8") = ""
End If
End If

Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True

End Sub



https://www.herber.de/bbs/user/162474.xlsm
Anzeige
VBA? wenn?
24.08.2023 16:35:05
GerdL
Hallo Pitt,

für K9; ins Codefenster der Tabelle kopieren.
Private Sub Worksheet_Calculate()


Static vK9 As Variant

Application.Calculation = xlCalculationManual
Application.EnableEvents = False

If IsEmpty(vK9) Then
If Range("K9") > 0 Then
Range("L9") = Date
vK9 = Range("K9")
End If
ElseIf vK9 > Range("K9") Then
vK9 = Range("k9")
If Range("K9") > 0 Then
Range("L9") = Date
Else
Range("L9") = ""
End If
End If

Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True

End Sub

Gruß Gerd
Anzeige
VBA? wenn?
25.08.2023 10:03:02
Pitt
Hallo Gerd,

bin gerade dabei alles aus zuprobieren.
Es scheint zuklappen.
Vielen Dank für Deine Mühe.

Wie bekomme ich es hin, das er nicht nur eine Zeile nimmt, sonder die ganze intelligenteTabelle nimmt?

Gruß Pitt
VBA? wenn?
24.08.2023 17:05:34
Yal
Hallo Pitt,

idealerweise bist Du in der Lage eine "Speicher"-Spalte einzubauen, wo Du die Stände vor der Aktualisierung ablegen kannst.

Nehmen wir an deine Tabelle heisst "Tabelle1" und es gibt die 3 Spalten "Wert", "Datum" und "Speicher". Der Code würde so aussehen:

Private Sub Worksheet_Calculate()

Dim LR As ListRow

With ListObjects("Tabelle1")
For Each LR In .ListRows
If LR.Range(.ListColumns("Werte").Index).Value > LR.Range(.ListColumns("Speicher").Index).Value Then
LR.Range(.ListColumns("Datum").Index).Value = Date
LR.Range(.ListColumns("Speicher").Index).Value = LR.Range(.ListColumns("Werte").Index).Value
End If
Next
End With
End Sub


VG
Yal
Anzeige
Intelligente Tabelle
25.08.2023 08:48:51
Peter Kloßek
Hallo Pitt,

ich habe mal eine Lösung entwickelt, die Dein Problem lösen sollte. Die Beispieldatei zeigt in der Tabelle2 den Zustand bei der Einrichtung. Die Spalten N und O sind hier noch aufgeblendet. Spalte N enthält die Vergleichswerte von der vergangenen Hereinholung der Werte aus dem anderen T EAB. Diese Hereinholung wird im Beispiel durch die Spalte E simuliert. Dementsprechend musst Du den 2. Befehl im Makro1 durch Deine Anwendung ersetzen. Die Tabelle1 zeigt meine Anwendung von gestern. Hieer kannst Du testen, indem Du die Spalte E veränderst und dann den Makroknopf betätigst. Die Spalten N und O werden zum Anfang eingeblendet und zum Schluss des Makros wieder ausgeblendet.

https://www.herber.de/bbs/user/162469.xlsm

Bitte mal ausprobieren, Rückmeldung wäre schön. Gerne auch Rückfragen.

Mit freundlichem Gruß
Peter Kloßek
Anzeige
Intelligente Tabelle
26.08.2023 15:19:29
Pitt
Moin Peter Kloßek ,

vielen Dank für Deine aufwendige Mappe.
Ich habe etwas länger gebraucht, um sie überhaupt zu verstehen.
Aber nun gehts. Habe sie etwas angepasst für meine Bedürfnisse.
Läuft.
Tolle Arbeit von Dir, nochmals Danke.

Habe aber noch eine Frage dazu.
Da ich ja 2 Behelfs-Spalten habe, die ich auch ein u. ausblenden möchte, habe ich das Problemchen, das sich in der Tabelle zwar die Formel weiter nach unten zieht, aber der Wert nicht.
Bei Deiner Tab wäre es N6:N22.
Gibt es da eine Möglichkeit?

Gruß Pitt
Intelligente Tabelle
26.08.2023 21:07:43
Peter Kloßek
Hallo Pitt,

zunächst schönen Dank für Deine Rückmeldung. In meinem Beispiel habe ich die beiden Hilfsspalten nach meiner Tabelle ausgelegt. Überhängende/überflüssige Zellen dieser Spalten kann man einfach löschen; sind die Hilfsspalten zu kurz, kann man einfach Zellen durch kopieren hinzufügen. Wenn man es ganz komfortabel möchte, kann man die Länge der Hilfsspalten auch durch einen Makro anpassen. Dazu müsste ich aber über Deine Originalmappe verfügen. Die Hilfsspalten sind leider notwendig, da man nur dann etwas vergleichen kann, wenn auch die zuvor gültigen Werte noch im Zugriff sind.

Mit freundlichem Gruß
Peter Kloßek
Anzeige
Intelligente Tabelle
28.08.2023 14:05:32
Pitt
Hallo Peter Kloßek,

war mir irgendwie klar, dass es nur mit den extra Spalten klappt.
Vielen Dank nochmal.

Gruß Pitt
VBA? wenn?
25.08.2023 20:56:51
GerdL
Moin Pitt!
Private Sub Worksheet_Calculate()


Static vK(6 To 22) As Variant
Dim z As Long

Application.Calculation = xlCalculationManual
Application.EnableEvents = False

For z = 8 To 22
If IsEmpty(vK(z)) Then
If Range("K" & z) > 0 Then
Range("L" & z) = Date
vK(z) = Range("K" & z)
End If
ElseIf vK(z) > Range("K" & z) Then
vK(z) = Range("K" & z)
If Range("K" & z) > 0 Then
Range("L" & z) = Date
Else
Range("L" & z) = ""
End If
End If
Next

Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True

End Sub

Gruß Gerd
Anzeige
VBA? wenn?
26.08.2023 10:02:26
Pitt
Moin Gerd,

vielen Dank das Du Dir meiner angenommen hast.

Leider funktioniert es gar nicht. Bekomme auch keine Fehlermeldung.

Wenn ich nun in der Datei die ich hochgeladen habe, in K9 einen Betrag eingebe per Hand, passiert in P9 nichts.

Hattest Du meine Datei runtergeladen, und es mit der versucht?

bei mir scheint es nicht zu funktionieren.

Vielleicht hast Du, Gerd noch eine andere Idee?

Gruß Pitt
AW: VBA? wenn?
26.08.2023 11:46:36
Oberschlumpf
und wann antwortest du auf den Beitrag von Peter?!
VBA? wenn?
26.08.2023 17:04:38
GerdL
Ja. Zunächst ist zu klären, ob die Werte in K6:K22 per Formeln in diese Zellen rein kommen oder per Eingabe u.
in welchen Zellen die Datümer auszugeben sind.
Gruß Gerd
Anzeige
VBA? wenn?
26.08.2023 20:04:03
Pitt
Hallo Gerd

Nein da sind keine Formeln, sie werden von einem anderen Tab, der die Daten übers Internet holt von Text in Ziffeern umgewandelt.
Dann erst wird es in K6:k25 importiert.

In L sind auch keine Formeln, nur bedingte Formate.

Danke

Gruß Pitt

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige