Thema Datum  Von Nutzer Rating
Antwort
Rot Anfrage über eine Skript xlCalculationAutomatic
07.11.2019 14:51:03 Waldow
NotSolved

Ansicht des Beitrags:
Von:
Waldow
Datum:
07.11.2019 14:51:03
Views:
1001
Rating: Antwort:
  Ja
Thema:
Anfrage über eine Skript xlCalculationAutomatic

 

Hallo,

ich habe eine Frage, wo kann ich im Skript eine Makro-Umstellung vornehmen um von einer Application.Calculation auf xlCalculationAutomatic und wieder zurück zu kommen, dass für eine Neuberechnung zuständig ist, um zu probieren ob es notwendig und hilfreich wäre.

Ich hatte schon im letzen Beitrags-Anfragt am 3.11.2019 – über das Thema (Übertragungs-Fehler Waldow) Antworten für eine Umstellung bekommen, weiß aber nicht wie und wo ich das machen könnte..

Das Hauptproblem ist noch: Das die berechneten Werte aus den Zeilen R16:R21 nicht die gleichen sind, wie die ausgegeben Werte in den Zeilen R1:R6. Wäre es vielleicht möglich mit einer Referenz Spalte T und Zeilen T16:21 einfach die Zeilen von  =R16 bis =R21 zu copieren, wo dann keine Berechnungen gemacht werden, und sie dann mit den Zahlen-Werten bevor sie ins Array R1-R6 ausgegeben werden und mit einer Code vergleicht und 1zu1 auswechsel bzw. korregiert?

 

Antwort von Gast 1308 dazu:

Du kannst zu Beginn deines Makros Application.Calculation auf  xlCalculationManual setzen. Dann wird nicht neu Berechnet, wenn du die Zahl um 1 erhöhst sondern erst wenn du F9 drückst bzw. Application.calculate ausführst oder Application.Calculation wieder auf xlCalculationAutomatic zurücksetzt.

der Code arr = Range (“R16:R21“)  holt die Zahlen aus R16:R21 ab und schreibt sie in ein Array. Wenn du danach den Button 1 erneut betätigst und die Basisdaten somit änderst, können diese Zahlen nicht mehr übereinstimmen. Auch den Code aus Makro2 solltest du hier posten. Sonst kann dir niemand helfen.

Das Codeschnipsel arr = Range (“R16:R21“) hat jedenfalls mit der Formel nix zu tun. Der Fehler liegt an anderer Stelle.

Arbeitsblatt 1 Tabelle1

Sub Makro2()

'Private Sub CommandButton1_Click()
Dim arr(), c As Range
 
  arr = Range("R16:R21").Value
   With Range("R1")
      If .Value = "" Then
         Set c = Range("R1")
      Else
         Set c = Range("R1").Offset(, Range("R1").CurrentRegion.Columns.Count)
      End If
   End With
   c.Resize(UBound(arr, 1)).Value = arr 'von er anfängt
   Set c = Range("r8")
   c.Resize(UBound(arr, 1)).Value = arr
 

  Range("M22").Value = Range("M22").Value + 1 

End Sub


Auf dem Arbeitsblatt 1 Tabelle1   In Spalte Q und Zeilen Q16:Q21 stehen normale Zahlen

Spalte Q   Spalte R                                                                                          Spalte T  Referen-Werte

Zeile 16   Zeile16  =INDEX(Q$16:Q$21;Range.Gleich($IQ1;$IQ16;1))           Zeile 16 = R16

Zeile 17   Zeile 17 =INDEX(Q$16:Q$21;Range.Gleich($IQ1;$IQ16;1))           Zeile 17 =R17

Zeile 18   Zeile 18 =INDEX(Q$16:Q$21;Range.Gleich($IQ1;$IQ16;1))           Zeile 18 =R18

Zeile 19   Zeile 19=INDEX(Q$16:Q$21;Range.Gleich($IQ1;$IQ16;1))            Zeile 19 =R19

Zeile 20   Zeile 20=INDEX(Q$16:Q$21;Range.Gleich($IQ1;$IQ16;1))            Zeile 20 =R20    

Zeile 21   Zeile 21=INDEX(Q$16:Q$21;Range.Gleich($IQ1;$IQ16;1))            Zeile 21 =R21


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Anfrage über eine Skript xlCalculationAutomatic
07.11.2019 14:51:03 Waldow
NotSolved