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

Hallo Erich G.

Hallo Erich G.
01.08.2008 18:15:00
Peter
Hallo Erich,
ich bin fast am Verzweifeln, vielleicht kannst du mir noch mal helfen.
Beigefügter Code hat schon funktioniert:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim calS As XlCalculationState
If Not Intersect(Target, Range("e22")) Is Nothing Then
calS = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.Run "GehtPKS"
Application.Calculation = calS
Application.EnableEvents = True
End If
If Not Intersect(Target, Range("b25")) Is Nothing Then
calS = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.Run "GewählterText"
Application.Calculation = calS
Application.EnableEvents = True
End If
If Not Intersect(Target, Range("d21")) Is Nothing Then
calS = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.Run "FesteDichteFürLiterPreis"
Application.Calculation = calS
Application.EnableEvents = True
End If
If Not Intersect(Target, Range("d22")) Is Nothing Then
calS = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.Run "GewählteDichte"
Application.Calculation = calS
Application.EnableEvents = True
End If
End Sub


Dann habe ich das Sheet gespeichert. Nach dem erneuten Aufrufen funktioniert jetzt nur noch die 2. Hälfte des Codes, also die mit Range ("D21") und Range("D22"). Die mit ("e22") und Range("b25") werden einfach nicht ausgeführt!
Manuell gestartet fuktionieren aber "GewählterText" und "GehtPKS" durchaus!
Was mache ich bloß falsch ?
Gruß,
Peter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Code
01.08.2008 18:50:00
Erich
Hi Peter,
bist du sicher, dass bei Änderung in E22 oder B25 der Code nicht ausgeführt wird?
Stell doch mal den Cursor in die Zeile
If Not Intersect(Target, Range("e22")) Is Nothing Then
und drück dann F9. Damit setzt du einen Haltepunkt (kannst du später mit F9 wieder löschen).
Dann ändere mal E22 oder B25. Der VBA-Editor sollte sich öffnen und die obige Zeile markiert sein.
Mit F8 gehst du dann schrittweise weiter im Code - und siehst genau, was so alles passiert.
So - ohne Kenntnis deiner Codes und der Mappe - lässt sich sonst kaum etwas sagen.
Die Abschnitte unterscheiden sich ja nur durch Zelladresse und Name der aufzurufenden Prozedur.
Noch eine Frage:
Gibt es einen besonderen Grund dafür, dass du die Prozeduren mit "Application.Run" aufrufst?
Statt
Application.Run "GehtPKS"
geht auch
Call GehtPKS
oder einfach
GehtPKS
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Hallo Erich G.
01.08.2008 18:56:00
Horst
Hi,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim calS As Long
With Application
On Error GoTo SHIT
calS = .Calculation
.EnableEvents = False
.Calculation = xlCalculationManual
If Not Intersect(Target, Range("e22")) Is Nothing Then
.Run "GehtPKS"
End If
If Not Intersect(Target, Range("b25")) Is Nothing Then
.Run "GewählterText"
End If
If Not Intersect(Target, Range("d21")) Is Nothing Then
.Run "FesteDichteFürLiterPreis"
End If
If Not Intersect(Target, Range("d22")) Is Nothing Then
.Run "GewählteDichte"
End If
SHIT:
.EnableEvents = True
.Calculation = calS
End With
End Sub


mfg Horst

Anzeige
AW: Hallo Erich G.
01.08.2008 18:59:00
Luschi
Hallo Peter,
ich glaube, Du schmeißt hier ein paar Eigenschaften in 1 Topf, die doch lieber für sich einzeln gegart werden sollten:
aus der Excel-Vba-Hilfe:

Application.Calculation
xlCalculationAutomatic: -4105 Die Neuberechnung wird von Excel gesteuert.
xlCalculationManual:    -4135 Die Berechnung erfolgt, wenn der Benutzer diese anfordert.
xlCalculationSemiautomatic  2 Die Neuberechnung wird von Excel gesteuert, Änderungen in den Tabellen werden jedoch ignoriert. 



XlCalculationState
xlCalculating 1 Berechnungen werden ausgeführt.
xlDone         0 Berechnungen abgeschlossen.
xlPending    2 Es wurden Änderungen vorgenommen, die eine Neuberechnung auslösen, die Neuberechnung wurde jedoch noch nicht ausgeführt. 

Man sollte also Application.Calculation keinen Wert aus XlCalculationState zuweisen.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: @Luschi
01.08.2008 19:19:00
Erich
Hi Luschi,
danke für den Fingerzeig! Das war nicht Peter, das war ich. Korrigiert hab ichs gerade in
https://www.herber.de/forum/archiv/996to1000/t997934.htm#998351
Ob das aber etwas zu tun hat mit Peters aktuellem Problem?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: XlCalculation
01.08.2008 19:11:22
Erich
Hi Peter,
sorry, beim Datentyp von calS hab ich mich in der Zeile vertan:
Statt
Dim calS As XlCalculationState
sollte es heißen
Dim calS As XlCalculation (Long ginge auch)
Aber: Das sollte nicht dazu geführt haben, dass die ersten beiden Prozeduren nicht aufgerufen werden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: XlCalculation
01.08.2008 19:58:00
Peter
Danke erst mal an Alle, die sich gemeldet haben.
Ich kann erst morgen meht dazu sagen.
Gruß,
Peter

AW: XlCalculation
02.08.2008 12:03:00
Peter
Hallo liebe Freunde,
neuer Tag, neues Glück.
Mein PC hat eine Nacht geschlafen, und heute ist er wieder gut drauf.
Was mir gestern die Probleme bereitet hat, ist heute wie weggeblasen, ohne dass ich irgendetwas (bewusst) geändert habe. Ja was soll ich dazu noch sagen? Ich will zunächst nichts Neues ausprobieren, weil's ja wieder funktioniert.
Aber auf jeden Fall :
Danke für eure Hilfestellungen.
Da ich noch weiter an einem kleinen beruflichen Projekt arbeite, mit dem meine Nachfolger irgendwann leben werden müssen, glaube (fürchte) ich, dass ich mich noch häufiger mit Hilferufen im Forum melden werden muss.
Grüße an alle Mitwirkenden im Forum,
Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige