Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
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 - Filter beibehalten - Neuberechnung

VBA - Filter beibehalten - Neuberechnung
14.12.2021 14:39:10
Chris
Hallo Zusammen,
mein Makro ist relativ einfach:
Der Wert (Ein Datum) soll von A6 in B2 kopiert werden. Es wird dann ein Wert in C2 errechnet der dann in B6 eingetragen werden soll.
Meine Problem ist nun folgendes:
Es gibt in einer Spalte außerhalb dieser 3 Zellen (Spalte U) einen Filter der voreingestellt ist. Die Werte die allerdings in Spalte "U" gelistet werden hängen von B2 ab.
Die eingestellten Filter-Kriterien sollen sich beim Durchlauf nicht verändern.
Wenn die Berechnung neu ansetzt - also wenn A7 in B2 rein kopiert wird - scheint es dass der Filter nicht neu auf die dann in Spalte "U" enthaltenen Werte angesetzt wird.
Ich sollte evtl an dieser Stelle erwähnen dass die Berechnung - aufgrund der Datenmenge - beim Sprung von A6 auf A7 schon etwa 4-5 Minuten dauern kann.
Wenn ich keinen Filter setze funktioniert es einwandfrei - wenn ich einen Filter setze kommen ebenfalls Werte raus - ich bekomme keine Fehlermelden - ich erhalte jedoch Werte die dem ursprünglich gesetztem Filter und den dann neuen Daten nicht entsprechen.
Hat jemand von euch eine Idee?
Vielen Dank und viele Grüße
Chris
Hier ist der bisherige Code:
Option Explicit
Private Declare Sub Sleep Lib "kernel32.dll" ( _
ByVal dwMilliseconds As Long)
Sub TR_Auslesen()
Range("A6").Select
'neue startposition loop:
Do Until ActiveCell.Value = ""
Range("B2").Value = ActiveCell.Value
ActiveCell.Offset(0, 1).Value = Range("c2").Value
ActiveCell.Offset(1, 0).Select
Loop

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Filter beibehalten - Neuberechnung
14.12.2021 15:09:06
Yal
Hallo Chris,
im Grund genommen, deine Makro -für sich selbst alleion genommen- macht nichts anderes als folgendes:

Sub TR_Auslesen()
Range("B2") = Range("A6").End(xlDown).Value
Range(Range("A6"), Range("A6").End(xlDown)) = Range("C2").Value
End Sub
Warum es notwendig sein soll, alle Wert A6, A7, A8, ... nacheinander in B2 zu bringen, um einen Filter zu aktualisieren, ist mir rätselhaft. Weil Ziel einer Makro, ist so schnell wie möglich von einem Anfangszustand in einem Endzustand zu transformieren. Die Filter sind nur Zwischenzustände, die nur für das menschliche Auge relevant sind. Das passt nicht in einem Makro. Es sei denn, Du möchtest damit eine Animation veranstalten (daher den Sleep?)
VG
Yal
Anzeige
AW: VBA - Filter beibehalten - Neuberechnung
14.12.2021 15:16:52
Yal
...na, vielleicht doch misverstanden.
Aber es fehlt einen Stück: es ist nicht, weil die Werte unterhalb eines Filters sich ändern, dass der Filter sich anpasst. Das musst Du selber steuern.
Starte den Makro Rekorder und nehme den Filter weg, dann wieder mit gleiche Einstellung an. Dann hast Du den fehlenden Code.

Sub TR_Auslesen()
Dim Z As Range
'neue startposition loop:
For Each Z In Range(Range("A6"), Range("A6").End(xlDown)).Cells
If Z = "" Then Exit Sub 'es könnte sein, dass A7 leer ist, dann ist "End" A1048576!
Range("B2").Value = Z.Value
Calculate
'hier müsste das Coding rein, das den Filter zurücksetzt une wieder einsetzt. Benutze den Makro Rekorder
Sleep 500
Z.Offset(0, 1) = Range("C2").Value
Next
Loop
VG
Yal
Anzeige
oT: Yal nachgefragt ...
14.12.2021 15:48:25
neopa
Hallo Yal,
... auf Deinen nur in der Forumslbeitragsliste gelisteten Beitrag von 13:38 mit dem Betreff: "DSGVO Alarm!!" kann ich nicht zugreifen. Er wurde verlinkt auf einen völlig anderen Beitrag eines anderen Users.
Meine Fragen dazu: Hattest Du damit einen neuen thread aufgemacht, der inzwischen gelöscht ist? Oder hast diesen Beitrag evtl. in einen thread eingestellt, der von einem Fragesteller vor mehr als 6 Tagen eröffnet wurde, Du aber in diesem thread bereits zu einem früheren Zeitpunkt als heute schon mal geantwortet hattest?
Gruß Werner
.. , - ...
AW: oT: Yal nachgefragt ...
14.12.2021 16:07:52
Yal
Hallo Werner,
nein, es war eine Antwort auf einem neuen Beitrag, aber der Fragenden hatte eine Datei mit vielen personenbezogenen Daten drin.
Ich habe den Beitrag beantwortet, um den Fragenden die Situation zu schildern und gleichzeitig als "unangemessen" gemeldet. Es gibt leider bei diesem Meldeprozess keine Möglichkeit, einen Grund einzugeben. Vielleicht läss sich hier einen Verbesserungsvorschlag einreichen.
Ob der Frangende die Nachricht lesen könnte, bevor es gelöcht/zur Seite gestellt wurde, weisst nur Hans.
VG
Yal
Anzeige
AW: oT: Yal nachgefragt ...
14.12.2021 16:15:21
Pierre
mal kurz dazu: Man kann den entsprechenden Beitrag (leider) immer noch sehen über die Beitragsliste (da unter Listenmodus).
Yals Antwort kann man allerdings nicht mehr öffnen.
AW: oT: Yal nachgefragt ...
14.12.2021 16:15:44
Pierre
mal kurz dazu: Man kann den entsprechenden Beitrag (leider) immer noch sehen über die Beitragsliste (da unter Listenmodus).
Yals Antwort kann man allerdings nicht mehr öffnen.
ich relativiere:
14.12.2021 16:17:14
Pierre
Das leider ist doch nicht ganz so leider, da man die Datei nicht mehr öffnen kann.
Wollte schon meckern, dass die Datei mit den personenbezogenen Daten noch vorhanden ist, stimmt aber so nicht ;-)
Gruß Pierre
AW: so ist es ...
14.12.2021 16:44:29
neopa
Hallo Piere,
... und dass in einem derartigen Fall die ursprünglichen Beiträge noch in der Forumsbeitragsliste gelistet sind ist nicht das Problem. Dies hatte ich wenn ich mich richtig erinnere auch schon mal angezeigt. Nur das in in so einem Fall von diesem gelöschten Beitrag auf einen völlig andern Beitrag verwirrt natürlich. Doch mE nutzen nur wenige User (auch) den Listenmodus, so dass es nicht zu sehr ins Gewicht fällt.
Gruß Werner
.. , - ...
Anzeige
AW: so ist es ...
15.12.2021 08:39:06
Pierre
Hallo Werner,
ich hatte nur bedenken, dass man die Datei noch hätte öffnen können, deswegen mein erstes "leider".
Aber da ich anschließend dies versucht und damit ausschließen konnte, ist ja an sich alles okay. Solange keine personenbezogenen Daten im Beitrag selbst erscheinen (manch einer fummelt ja hier seinen Aufbau nach).
Deswegen in diesem Falle alles bestens.
Gruß Pierre
oT: dank für RückInfo, erklärt meine Frage owT
14.12.2021 16:44:54
neopa
Gruß Werner
.. , - ...
AW: VBA - Filter beibehalten - Neuberechnung
14.12.2021 17:40:05
Chris
Hallo Yal,
danke für deine Rückmeldung, vielleicht sollte ich nochmal auf die Reihenfolge eingehen:
Schritt 1) Man wählt in Spalte "U" Werte aus über einen Filter, z.b. Alles außer "Thomas" aber nachdem das Makro ganz durch ist evtl nächstes mal alles außer "Matthias"
Schritt 2) Man würde dann ab Zelle A6 Datumswerte eintragen z.b. 31.12.2016, 31.12.2017
Schritt 3) Erst jetzt würde man das Makro starten und jetzt sollte das Makro das Datum 31.12.2016 in B2 eintragen und z.B. eine Summe für die Namen (Außer Thomas) in C2 errechnen die dann kopiert wird.
Dann kommt das nächste Datum - und die nächste Summe, speziell für dieses Datum wird dann in C2 gelistet.
Ich erwähne das weil ich den Filter somit nicht im Makro haben kann. Der Filter wird gesetzt bevor das Makro startet - und soll dann für den Lauf des Makros bleiben.
Ich hoffe dass es so besser verständlich ist wo ich hin will ;-)
Viele Grüße
Chris
Anzeige
AW: VBA - Filter beibehalten - Neuberechnung
14.12.2021 18:52:05
Yal
Na gut, ich glaube, ich verstehe.
Durch das Setzen eine Datumswert wird eine bedingte Summe, die ebenfalls den -unveränderten- Filter berücksichtigt, errechnet und das Ergebnis kopiert.
Entsprechend diese Beschreibung machst Du sehr aufwändig mit VBA und Formeln, was eine Pivottabelle (Standard-Excelwerkzeug) ohne Formel, ohne VBA und ohne Wartezeit macht.
Schaue Dir das Thema Pivottabelle an. Es könnte deine Anwendung wesentlich verschlankern.
VG
Yal

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige