Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
656to660
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
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Range Rechenzeit nach Variablenübernahme aus Zelle

Range Rechenzeit nach Variablenübernahme aus Zelle
26.08.2005 18:22:28
jens
Hallo Gemeinde,
habe so gut wie keine VBA-Kenntnisse und stecke nun an folgendem Problem fest:
Ich möchte nach einer beliebigen Neuberechnung der Tabelle aus einer bestimmten Zelle den aktuellen Wert in eine Variable (später in ein Array)übernehmen und anschließend an eine ander Zelle übergeben. Dafür habe ich diese kleine Routine zusammengestrickt:

Sub Worksheet_Calculate()
Dim MAZ%
MAZ = Range("ah46")
Range("ae56") = MAZ
End Sub

Die funktioniert auch gut, nur stellt sich Excel, nachdem es die Zielzelle mit der Variable versorgt hat erstmal für 10-20 sec. tot. Man sieht am Flimmern einzelner Einträge, das irgend etwas im Hintergrund abläuft - nur was?.
In der Hoffnung das hier ein Experte den Fehler sofort erkennt und mir helfen kann, mit freundlichem Gruß
Jens

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range Rechenzeit nach Variablenübernahme aus Zelle
ransi
hallo jens
jedesmal wenn
Range("ae56") = MAZ geschrieben wird, wird ein neues worksheet-calculate angestoßen.
Lösung:(Ungetestet)

Sub Worksheet_Calculate()
Dim MAZ%
application.enableevents=false'Ereignisse aussschalten
MAZ = Range("ah46")
Range("ae56") = MAZ
application.enableevents=true'Ereignisse einschalten
End Sub

ransi
AW: ange Rechenzeit nach Variablenübernahme aus Zelle
26.08.2005 18:47:35
jens
Hallo Ransi,
vielen Dank für Deine Hilfe - es klappt vorzüglich. Ich hoffe du bist nicht sauer, wenn ich noch eine kleine Anfängerfrage nachschiebe?
Wie ich schon andeutete, sollen die Werte später in einem Array mit drei Dimensionen landen. Ist es möglich den Index der einzelnen Dimensionen über Variablen zu bestimmen? Also beispielsweise so etwa Array3(x%,y%,z%)?
Gruß Jens
Anzeige
bei den arrays() muss ich passen...
ransi
hallo jens
...darum "Frage noch offen".
ransi
AW: bei den arrays() muss ich passen...
26.08.2005 19:20:07
jens
Schade,aber trotzdem Danke. Ich werd mal ein bischen experimentieren. Sollte ich was rausbekommen lasse ich es dich wissen.
Tschüß Jens
AW: bei den arrays() muss ich passen...
26.08.2005 20:09:58
Ramses
Hallo
mal ein einfaches Beispiel
Sub Dreidimensionales_Array()
    Dim i As Integer, n As Integer, m As Integer
    Dim arrKosten(4, 1, 1) As Variant
    arrKosten(0, 0, 0) = "Mercedes"
    arrKosten(1, 0, 0) = "Volkswagen"
    arrKosten(2, 0, 0) = "Opel"
    arrKosten(3, 0, 0) = "Ford"
    arrKosten(4, 0, 0) = "Alfa"
    arrKosten(0, 1, 0) = 48500
    arrKosten(1, 1, 0) = 32500
    arrKosten(2, 1, 0) = 33750
    arrKosten(3, 1, 0) = 31250
    arrKosten(4, 1, 0) = 39500
    arrKosten(0, 1, 1) = 1.17 * arrKosten(0, 1, 0)
    arrKosten(1, 1, 1) = 1.17 * arrKosten(1, 1, 0)
    arrKosten(2, 1, 1) = 1.17 * arrKosten(2, 1, 0)
    arrKosten(3, 1, 1) = 1.17 * arrKosten(3, 1, 0)
    arrKosten(4, 1, 1) = 1.17 * arrKosten(4, 1, 0)
    'Alles in eine Zelle
    For i = 0 To 4
        MsgBox ("Das Fahrzeugmodell " & arrKosten(i, 0, 0) & " kostet netto " & arrKosten(i, 1, 0) & " CHF" _
            & Chr$(13) & "oder " & arrKosten(i, 1, 1) & " CHF incl. MwSt.")
    Next
    '... oder in Spalten nebeneinander
    For i = 0 To 4
        Cells(i + 1, 1).Value = arrKosten(i, 0, 0)
        Cells(i + 1, 2).Value = arrKosten(i, 1, 0)
        Cells(i + 1, 3).Value = arrKosten(i, 1, 1)
    Next i
End Sub

Gruss Rainer
Anzeige
AW: Danke Ramses
26.08.2005 20:54:45
jens
Hallo Rainer,
vielen Dank für das anschauliche Beispiel. Hatte mich bei meinen Versuchen schon fast daran angenähert aber leider bei der Vergabe der Variablennamen einen Fehler gemacht, so das ich immer die Meldung "index ausserhalb des gültigen Bereichs" bekam. Jetz klappt es prima und ich kann mich näher mit dem einlesen der Daten in das Array beschäftigen.
Tschüß Jens

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige