Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1032to1036
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

Galculate

Galculate
16.12.2008 14:54:28
Rolf
Hallo Leute!
Also es geht nicht!!
Selbst das Makro in Tabelle1"Calculate"
funktioniert aber es lässt sich Makro "Filterung" unter
keinen Bedingungen aufrufen!!
Wer könnte helfen?
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If Range("A1").FormulaLocal  "" Then
Range("A2").FormulaLocal = "=WECHSELN(A1;"","";""."")*1"
Sleep 100
If Range("A2").Value  Range("A4") Then   '10
Call Filterung
End If
Application.EnableEvents = True
End If
End Sub


Also sobald in A2 neue Zahl -sollte Makro "Filterung" starten.

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Galculate
16.12.2008 15:10:00
Uwe
Hi Rolf,
also bei mir klappt Dein Code.
Kann es sein, dass durch einen Abbruch bei Dir die Events noch ausgeschaltet sind?
Lass diesen Code mal laufen und versuche es dann nochmal:

Sub A()
Application.EnableEvents = True
End Sub


Gruß
Uwe
(:o)

AW: Galculate
16.12.2008 15:57:45
Rolf
Hallo Uwe!
Habe Dein Vorschlag ausprobiert-keine Wirkung!
Ich habe schon so viel Zeit verloren!
Grüße
Rolf
AW: Galculate
16.12.2008 16:17:00
Uwe
Hi Rolf,
wie gesagt, bei mir läuft der Code.
Ist vielleicht bei Dir in Extras/ Optionen / Berechnung auf manuell gestellt? Dann müsste der Code zumindest laufen, wenn du F9 drückst.
Sonst:
Setzt mal einen Haltepunkt in der ersten Zeile Deines Codes und ändere dann etwas in der Tabelle. Dann sollte Excel in diese Zeile springen. Dann kannst Du mit F8 schrittweise weitergehen und eingrenzen, wo der Code nicht funktioniert (Ist A1 wirklich nicht leer und A2 ungleich A4?). Sag dann nochmal bescheid. Ich lasse die Frage offen, vielleich gibt es noch andere Ideen.
Gruß
Uwe
(:o)
Anzeige
AW: Galculate
16.12.2008 16:25:00
Rolf
Hallo Uwe!
danke für Deine Mühe!
es arbeitet grade bis Sleep das
ich gab um Zeit geben für umrechnung in A2
(in A2 wird text in Zahl umgewandellt!)
Ich habe einen alten Rat von Hajo gefunden-
Der sagt aus Bedingung kein Makro startet
aber aus Function.Es will aber auch aus Function
nicht starten!
Sorry
Rolf
AW: Galculate
16.12.2008 17:39:00
Uwe
Hi Rolf,
wie gesagt, bei mir läuft es auch als Sub.
Kommentiere doch mal Sleep aus! Das ist API, vielleicht bekommst Du da Schwierigkeiten?
Wie geht es dann weiter?
Frage ist wieder offen!
Gruß
Uwe
(:o)
AW: Galculate
16.12.2008 19:11:00
Rolf
Hallo Uwe!
sleep habe ich weg gemacht und trotzdem
will es nicht!
Grüße
Rolf
Anzeige
AW: Galculate
16.12.2008 19:46:00
Uwe
Hi Rolf,
Du musst schon genauer beschreiben was passiert. Was heißt "will es nicht"? Bekommst Du eine Fehlermeldung? Läuft das Programm durch und nichts passiert? Was passiert, wenn Du mit F8 durchgehst an der Stelle wo das Makro aufgerufen wird (Call...)?
Oder lade mal Deine Datei 'rauf.
Frage ist offen!
Gruß
Uwe
(:o)
AW: Calculate
16.12.2008 20:04:00
Gerd
Hallo Rolf!
lade bitte mal eine vollständige Beispielmappe mit Beispielswerten hoch,
einschl. Prozedur "Filterung".
Sonst muss alles hier wohl zwangsläufig nur ein Rumstochern bleiben.
Gruß Gerd
AW: Calculate
17.12.2008 13:36:54
Rolf
Hallo Gerd!!
Ich freue mich das Du da bist!
Dieses Makro stammt von Dir!
Du hast mir schon mehrfach geholfen!
Ich habe jetzt die Logik etwas geändert
und das Makro"Calculate" arbeitet jetzt
aber komisch-die übergabe A2 nach A3
und weiter erfolgt mehrfach(2-5 mal!).
Ich lege die neue Variante hinzu.
Die Idee ist Daten sammeln.A1 hat eine
DDE Verknüpfung zu anderer Anwendung die
legt eine Zahl als Text in A1 dynamisch ab.
Um damit was anfangen muss der Text(Zahl)
in eine Zahl umgewandelt sein(wird in A2 gemacht).
Und jetzt muss die Zahl in A3 abgelegt werden
und zwar so das Inhalt A3 nach A4 verschoben wird.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If Range("A1").FormulaLocal  "" Then
Range("A2").FormulaLocal = "=WECHSELN(A1;"","";""."")*1"
'Sleep 3000
Range("A3").FormulaLocal = "= SUMME(A2;0)"
'Range("A2").Value.Copy Destination:=.Range("A3")
' Sleep 3000
'With Range("A3")
If Range("A3").Value = Range("A2") Then   '10
Call Filterung
'Range("A3").Insert (xlDown)
' Function MakroStart()
End If
'End With
Application.EnableEvents = True
End If
End Sub


Schwierigkeit ist diesen Datenfluss organisieren!
Grüße
Rolf

Anzeige
AW: Calculate
17.12.2008 22:00:00
Gerd
Hallo Rolf,
also weiterstochern?
Ersetze mal versuchsweise:
If Range("A1").FormulaLocal "" Then
durch
If Range("A1").Value "" Then
Gruß Gerd
AW: Calculate
18.12.2008 13:07:00
Rolf
Hallo Gerd!!
Gut das Du dich gemeldet hast!
Sende das Makro "Filterung".
Das grosse Problem es lasst sich nicht nach
Bedingung starten jedoch von Hand startet es!
Dein Vorschlag "Range("A1").Value""
bewirkt nichts.
Grüße
Rolf

Sub Filterung()
Range("A2").Select
Selection.NumberFormat = "0.00"
If Range("A2") > 4000 And IsNumeric(Range("A2")) Then
If Range("A2") 


Anzeige
AW: Calculate
18.12.2008 16:51:32
Heinz
Hi,
frag den CalculationState ab und führ das Filtermakro erst aus, wenn dieser xlDone ist.
mfg Heinz
AW: Calculate
18.12.2008 17:20:00
Rolf
Hallo Heinz!
Es ist natürlich logisch fragen-was fehlt dir.
Ich bin leider nicht so weit.
Sorry
Rolf
AW: Calculate
19.12.2008 09:57:00
Rolf
Hallo!
Die Frage ist offen.
Rolf
AW: Calculate
19.12.2008 13:29:57
Heinz
Hi,
such im Objektkatalog nach CalculationState, besser kann ich es auch nicht erklären.
mfg Heinz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige