Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

excel stürzt ab bei vba befehl | Herbers Excel-Forum


Betrifft: excel stürzt ab bei vba befehl von: Sascha
Geschrieben am: 12.01.2012 13:29:52



hallo experten .
beim folgenden code stürzt immer mein excel ab .
was mache ich falsch?
ich habe in den zellbereichen AZ3:BC33 formeln drin.
nun moechte ich dass die bereiche C3:D33 die wette automatisch übernehmen, ohne
dass ich das jeweilige tabellenblatt aktivieren muss.


Private Sub Worksheet_Calculate()
With Range("AZ3:AZ33")
   Range("C3:C33").Value = Range("AZ3:AZ33").Value
end with
with range("BA3:BA33")
   Range("E3:E33").Value = Range("BA3:BA33").Value
end with
   Range("D3:D33").Value = Range("BB3:BB33").Value
with range("BC3:BC333")
   Range("F3:F33").Value = Range("BC3:BC33").Value
End With
End Sub
lg sascha

  

Betrifft: AW: excel stürzt ab bei vba befehl von: MatthiasG
Geschrieben am: 12.01.2012 13:37:34

Hallo Sascha,

versuch mal die automatische Berechnung vorübergehend abzuschalten:

Private Sub Worksheet_Calculate()
Dim CalcMode As Long
CalcMode = Application.Calculation
Application.Calculation = xlCalculationManual
With Range("AZ3:AZ33")
   Range("C3:C33").Value = Range("AZ3:AZ33").Value
End With
With Range("BA3:BA33")
   Range("E3:E33").Value = Range("BA3:BA33").Value
End With
   Range("D3:D33").Value = Range("BB3:BB33").Value
With Range("BC3:BC333")
   Range("F3:F33").Value = Range("BC3:BC33").Value
End With
Application.Calculation = CalcMode
End Sub

Gruß Matthias


  

Betrifft: Man kann CalcMode auch As XlCalculation ... von: Luc:-?
Geschrieben am: 12.01.2012 13:53:22

…definieren, Matthias.
Nur ein Tipp.
Gruß Luc :-?


  

Betrifft: Danke dafür! Außerdem... von: MatthiasG
Geschrieben am: 12.01.2012 13:58:32

...finde ich deine Verbindung von Betreff und Text immer wundervoll, Luc:-?.
Das wollte ich Dir immer schon sagen.
Gruß Matthias


  

Betrifft: Dito danke dafür... ;-) von: Luc:-?
Geschrieben am: 12.01.2012 14:06:36

Wenn ich's zu allgemein halte, habe ich allerdings beim Wiederfinden Probleme, Matthias;
das ist dann die Kehrseite! ;-)
Gruß Luc :-?


  

Betrifft: AW: Man kann CalcMode auch As XlCalculation ... von: Sascha
Geschrieben am: 12.01.2012 15:16:24

NACHTRAG:

Es funktioniert doch nicht :-( sobald ich die Userform starte, stürzt Excel wieder ab!

Gibt es noch eine andere Variante (zb Bedingte Formatierung), um die Zellen die eine Formel enthalten,
in andere Zellen schreiben zu lassen, ohne dass das Tabellenblatt aktiviert wird?

LG Sascha


  

Betrifft: AW: excel stürzt ab bei vba befehl von: Sascha
Geschrieben am: 12.01.2012 14:57:08

Hey Super!!! :-))

Vielen Dank. das wars was ich suchte :-)

Liebe Grüsse
Sascha


  

Betrifft: DAnn nimm aber bitte auch diese WITH.. raus von: NoNet
Geschrieben am: 12.01.2012 15:29:17

Hallo Sascha,

ich kann den Excel-Absturz unter Excel 2010 ebenfalls reproduzieren !
Was mich an Deinem Code aber zusätzlich stört ist diese absolut überflüssige und in diesem Fall völlig wirkungslose Verwendung der WITH...END WITH Anweisungen.

Ändere den Code bitte folgendermassen :

Private Sub Worksheet_Calculate()
	Dim CalcMode As Long
	CalcMode = Application.Calculation
	Application.Calculation = xlCalculationManual

	Range("C3:C33").Value = Range("AZ3:AZ33").Value
	Range("E3:E33").Value = Range("BA3:BA33").Value
	Range("D3:D33").Value = Range("BB3:BB33").Value
	Range("F3:F33").Value = Range("BC3:BC33").Value

	Application.Calculation = CalcMode
End Sub

Gruß, NoNet


  

Betrifft: AW: DAnn nimm aber bitte auch diese WITH.. raus von: Sascha
Geschrieben am: 12.01.2012 15:37:11

Das habe ich gemacht. Funktioniert einwandfrei in den tabellenblättern. Nur sobald ich die Userform (zur Eingabe in die Tabellenblätter) starte, Absturz... :-(


  

Betrifft: AW: Vielleicht doch ein With: von: MatthiasG
Geschrieben am: 12.01.2012 15:42:09

Hallo Sascha,

wenn der Code vom Userform ausgelöst wird, probier mal diesen Code im Arbeitsblatt:

Private Sub Worksheet_Calculate()
	Dim CalcMode As Long
	CalcMode = Application.Calculation
	Application.Calculation = xlCalculationManual

	With Me
           .Range("C3:C33").Value = .Range("AZ3:AZ33").Value
	   .Range("E3:E33").Value = .Range("BA3:BA33").Value
	   .Range("D3:D33").Value = .Range("BB3:BB33").Value
           .Range("F3:F33").Value = .Range("BC3:BC33").Value
        End With

	Application.Calculation = CalcMode
End Sub

Gruß Matthias


  

Betrifft: AW: Vielleicht doch ein With: von: Sascha
Geschrieben am: 12.01.2012 15:46:28

Immernoch Absturz...

Es ist zum Verzweifeln ... Das geht mir einfach nicht in Kopf...

Danke und Gruss Sascha


  

Betrifft: AW: Vielleicht doch ein With: von: MatthiasG
Geschrieben am: 12.01.2012 15:50:04

Hallo Sascha,

was heißt Absturz: Friert Excel ein oder schließt es sich einfach, oder kommt noch eine Fehlermeldung?
Wielleicht doch mal eine Beispieldatei hochladen?

Gruß Matthias


  

Betrifft: AW: Nachtrag von: MatthiasG
Geschrieben am: 12.01.2012 15:53:50

Hallo Sascha,

was spricht eigentlich dagegen, in die Zellen einen direkten Verweis auf die Zellen mit den Formeln zu setzen?
Also in C3 "=AZ3", usw.

Gruß Matthias


  

Betrifft: AW: Nachtrag von: Sascha
Geschrieben am: 12.01.2012 15:57:02

Hallo mathias. das problem dabei ist, wenn die userform startet
und die daten einliest, überschreibt es mir die formel,
Obwohl ich nicht speichere..


  

Betrifft: AW: Nachtrag von: MatthiasG
Geschrieben am: 12.01.2012 16:00:38

Hallo Sascha,

also du kannst mit die Datei schon schicken (goessner -at- gmx.com), aber besser wäre es du baust eine Mappe mit den nötigsten Elementen nach und stellst sie hier rein, damit die anderen ihre Hilfe auch anbieten können!

Zumal der Nachbau der Mappe dich evtl. selbst auf den Fehler bringt.

Gruß Matthias


  

Betrifft: AW: Nachtrag von: Sascha
Geschrieben am: 12.01.2012 16:15:11

Ok... ich kann ja beides machen. sende sie dir sobald ich zurueck bin. ca 1 std


  

Betrifft: Problem gelöst von: Sascha
Geschrieben am: 12.01.2012 19:53:56

Hallo zusammen,

Ich habe soeben das Problem gelöst...
Dank Deinem Tip, Matthias.... :-)

Ich wollte meine Mappe abspecken um diese hochzuladen.

Bei der Durchsicht der Codes, bin ich auf folgende Zeile gestossen:

Cells(Zei, n).Value = Datenmaske.Controls("TB" & n).Value
Als ich diese Zeile für das jeweilige Tabellenblatt herausgelöscht habe, hat es funktioniert.
Da dies der Code ist, der beim Klick auf den Speichern - Button ausgelöst wird, hat es mir die Formel überschrieben...

Demnach ist nun alles OK.

Ich danke Euch allen für Eure wertvolle Hilfe im Forum. Ich schätze das sehr.
Es ist mir auch bewusst dass wenn Ihr den Code nicht sehen könnt, nur bedingt Hilfestellung leisten könnt...

Da meine Mappe aber sehr gross ist, und sehr viele Codes, sowie auch heikle Daten, wollte ich diese nicht voll und ganz publizieren.

Hätte ichs gemacht, bin ich sicher, hätten die meisten von Euch den Fehler auf anhieb gefunden.

Vielen Dank für Euer Verständnis. und nochmals Danke für all Eure Hilfe

Liebe Grüsse und bis bald

Sascha


  

Betrifft: AW: Vielleicht doch ein With: von: Sascha
Geschrieben am: 12.01.2012 15:54:03

Das excel friert ein. ohne fehler !
Die mappe ist sehr komplex aufgebaut.
wegen datenschutz darf ich sie leider nicht veroeffentlichen.
Kann ich sie dir per email schicken?


Beiträge aus den Excel-Beispielen zum Thema "excel stürzt ab bei vba befehl"