Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1496to1500
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

VBA - Stetig ändernde Werte berechnen & speichern

VBA - Stetig ändernde Werte berechnen & speichern
06.06.2016 09:31:07
J....
Hallo zusammen,
leider bin ich totaler Anfänger in VBA und habe folgendes Problem, bei dem ich hoffe Ihr könnt mir helfen :(.
Per Klick auf einen Button werden die Zellen D9 und E9 1.000 Mal neu berechnet. Die 1.000 errechneten verschiedenen Werte in Zelle D9 sollen dann in D95:D1094 und die errechneten Werte in Zelle E9 in E95:E1094 abgespeichert werden. Durch erneutes Klicken auf den Button, wird alles erneut 1.000 Mal berechnet und die Werte in D95:D1094 sowie E95:E1094 überschrieben.
Ich hoffe Ihr könnt mir mit einem Code helfen und bedanke mich vielmals im Voraus für Eure Mühe.
Viele Grüße

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA - Stetig ändernde Werte berechnen & speichern
06.06.2016 10:11:50
Nepumuk
Hallo,
teste mal:
Option Explicit

Public Sub Berechne()
    Dim avntValue(999, 1)
    Dim lngIndex As Long
    Application.ScreenUpdating = False
    For lngIndex = 0 To 999
        Range("D9:E9").Calculate
        avntValue(lngIndex, 0) = Range("D9").Value
        avntValue(lngIndex, 1) = Range("E9").Value
    Next
    Range("D95:E1094").Value = avntValue
    Application.ScreenUpdating = True
End Sub

Gruß
Nepumuk

Anzeige
AW: VBA - Stetig ändernde Werte berechnen & speichern
06.06.2016 17:51:27
J....
Hallo Nepumuk,
Danke für deine schnelle Rückmeldung. Ich habe nun einen Button mit deinem Code wie folgt verknüpft:
Private Sub CommandButton1_Click()
Berechne
For i = 1 To 1000
Application.CalculateFull
Next i
End Sub

Public Sub Berechne()
Dim avntValue(999, 1)
Dim lngIndex As Long
Application.ScreenUpdating = False
For lngIndex = 0 To 999
Range("D9:E9").Calculate
avntValue(lngIndex, 0) = Range("D9").Value
avntValue(lngIndex, 1) = Range("E9").Value
Next
Range("D95:E1094").Value = avntValue
Application.ScreenUpdating = True
End Sub
Problem ist, dass wie gesagt der Wert in D9 und E9 sich mit jeder Berechnung ändert und somit durch Drücken auf den Button 1.000 Berechnungen ausgelöst werden, die zu 1.000 verschiedenen Werten in D9 und E9 führen. Leider werden diese 2.000 verschiedenen Werte nicht in D95:D1094 bzw. E95:E1094 gespeichert. Stattdessen ist in D95:D1094 1.000 Mal ein Wert und in E95:E1094 1.000 Mal ein anderer Wert gespeichert, so dass ich nicht weiß, was in den anderen Berechnungen für Werte generiert wurden :(.
Ich hoffe wirklich sehr, dass du mir weiterhelfen kannst und bedanke mich vielmals für Deine Mühe.
Danke & viele Grüße

Anzeige
VBA - Stetig ändernde Werte berechnen & speichern
06.06.2016 19:49:42
Nepumuk
Hallo,
na dann:
Private Sub CommandButton1_Click()
    Dim avntValue(999, 1)
    Dim lngIndex As Long
    Application.ScreenUpdating = False
    For lngIndex = 0 To 999
        Application.CalculateFull
        avntValue(lngIndex, 0) = Range("D9").Value
        avntValue(lngIndex, 1) = Range("E9").Value
    Next
    Range("D95:E1094").Value = avntValue
    Application.ScreenUpdating = True
End Sub

Gruß
Nepumuk

Anzeige
AW: VBA - Stetig ändernde Werte berechnen & speichern
07.06.2016 00:10:38
J....
Lieber Nepumu,
Vielen Dank. Klappt alles wunderbar! Hätte nie gedacht, dass ich so schnell eine Lösung bekomme. Danke und eine angenehme Nacht.
Viele Grüße & Danke :)
Klasse Forum hier!!!

AW: VBA - Stetig ändernde Werte berechnen & speichern
07.06.2016 00:48:15
J....
Hallo Nepumuk,
noch eine kleine Frage für die Zukunft hätte ich :). Dein Code sieht ja nun wie folgt aus:
Private Sub CommandButton1_Click()
Dim avntValue(999, 1)
Dim lngIndex As Long
Application.ScreenUpdating = False
For lngIndex = 0 To 999
Application.CalculateFull
avntValue(lngIndex, 0) = Range("D9").Value
avntValue(lngIndex, 1) = Range("E9").Value
Next
Range("D95:E1094").Value = avntValue
Application.ScreenUpdating = True
End Sub
Wenn ich diesen Code z.B. nun ergänzen möchte, wonach die 1.000 errechneten Werte aus Zelle F15 in F105:F1004 geschrieben werden sollen. Könnte ich den Code dann wie folgt erweitern (habe die Änderungen fett gemacht)?
Private Sub CommandButton1_Click()
Dim avntValue(999, 2)
Dim lngIndex As Long
Application.ScreenUpdating = False
For lngIndex = 0 To 999
Application.CalculateFull
avntValue(lngIndex, 0) = Range("D9").Value
avntValue(lngIndex, 1) = Range("E9").Value
avntValue(lngIndex, 2) = Range("F15").Value
Next
Range("D95:E1094", "F105:F1004").Value = avntValue
Application.ScreenUpdating = True
End Sub
Danke und viele Grüße

Anzeige
VBA - Stetig ändernde Werte berechnen & speichern
07.06.2016 08:06:17
Nepumuk
Hallo,
das geht nicht, denn der Ausgabebereich muss ein Rechteck sein.
Private Sub CommandButton1_Click()
    Dim avntValue1(999, 1), avntValue2(999, 0)
    Dim lngIndex As Long
    Application.ScreenUpdating = False
    For lngIndex = 0 To 999
        Application.CalculateFull
        avntValue1(lngIndex, 0) = Range("D9").Value
        avntValue1(lngIndex, 1) = Range("E9").Value
        avntValue2(lngIndex, 0) = Range("F15").Value
    Next
    Range("D95:E1094").Value = avntValue1
    Range("F105:F1004").Value = avntValue2
    Application.ScreenUpdating = True
End Sub

Gruß
Nepumuk

Anzeige
AW: VBA - Stetig ändernde Werte berechnen & speichern
07.06.2016 10:11:06
J....
Hallo Nepumuk,
noch eine kleine Frage für die Zukunft hätte ich :). Dein Code sieht ja nun wie folgt aus:
Private Sub CommandButton1_Click()
Dim avntValue(999, 1)
Dim lngIndex As Long
Application.ScreenUpdating = False
For lngIndex = 0 To 999
Application.CalculateFull
avntValue(lngIndex, 0) = Range("D9").Value
avntValue(lngIndex, 1) = Range("E9").Value
Next
Range("D95:E1094").Value = avntValue
Application.ScreenUpdating = True
End Sub
Wenn ich diesen Code z.B. nun ergänzen möchte, wonach die 1.000 errechneten Werte aus Zelle F15 in F105:F1004 geschrieben werden sollen. Könnte ich den Code dann wie folgt erweitern (habe die Änderungen fett gemacht)?
Private Sub CommandButton1_Click()
Dim avntValue(999, 2)
Dim lngIndex As Long
Application.ScreenUpdating = False
For lngIndex = 0 To 999
Application.CalculateFull
avntValue(lngIndex, 0) = Range("D9").Value
avntValue(lngIndex, 1) = Range("E9").Value
avntValue(lngIndex, 2) = Range("F15").Value
Next
Range("D95:E1094", "F105:F1004").Value = avntValue
Application.ScreenUpdating = True
End Sub
Danke und viele Grüße

Anzeige
AW: VBA - Stetig ändernde Werte berechnen & speichern
07.06.2016 12:05:27
J....
Hallo Nepumuk,
klappt alles wunderbar und nun bin selbst ich in der Lage, den Code zu erweitern (habe es schon beispielhaft getestet). Noch einmal vielen Dank für deine Hilfe! Du kannst dir gar nicht vorstellen, wie dankbar ich dir bin.
Alles Gute und Danke !!!

AW: VBA - Stetig ändernde Werte berechnen & speichern
07.06.2016 12:07:52
J....
Hallo Nepumuk,
klappt alles wunderbar und nun bin selbst ich in der Lage, den Code zu erweitern (habe es schon beispielhaft getestet). Noch einmal vielen Dank für deine Hilfe! Du kannst dir gar nicht vorstellen, wie dankbar ich dir bin.
Alles Gute und Danke !!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige