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

Rechnen mit Arrays

Rechnen mit Arrays
06.03.2008 12:38:00
Fred
Hallo Experten,
ich bin seit kurzem dabei mir VBA beizubringen. Absolute Probleme bereiten mir immer noch Arrays. Ich komme damit einfach nicht klar. Kann mir jemand sagen, warum ich bei folgendem Code in der For-Schleife eine Fehlermeldung bekomme?

Sub Ausschüttung_Checkbutton()
Dim asplan As Variant
Dim kkasplan As Variant
Dim kkasnull As Variant
Dim i As Integer
Dim Delta(5) As Variant
Application.ScreenUpdating = False
asplan = Range("XY").Value
Application.Calculate
kkasplan = Range("XZ").Value
Range("XY").Value = 0
kkasnull = Range("XZ").Value
For i = 1 To 5
Delta(i) = kkasplan(i) - kkasnull(i)
Next i
End Sub


Was ich auch nicht verstehe ist, warum bei Ubound(kkasplan) immer 1 rauskommt. Die Range ist aber 5 lang. Liegt das daran, dass diese horizontal und nicht vertikal ist? Wenn ja, muss ich den Array dann erst transponieren?
Vielen Dank für eure Hilfe!
Gruß
Fred

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

Betreff
Datum
Anwender
Anzeige
AW: Rechnen mit Arrays
06.03.2008 13:03:00
Kawensmann
Hallo,
der Index eines Array beginn bei 0
Dim Delta(5) geht also von Delta(0) bis Delta (4)
und bei i=5 läuft er auf den Poller...
Gruß
Kawensmann

AW: Rechnen mit Arrays
06.03.2008 13:11:00
Kawensmann
ich sehe gerade deine zweite Frage und noch mehr Fehler in der Schleife.
Lies am Besten erstmal in der Online-Hilfe unter Range und Array nach.
Die Zuweisung Range("Xy") funktioniert so nicht, sondern nach dem Muster Range("A1:E1")
Schau am besten auch gleich nach "For each"-Schleifen. Mit denen kannst du die Zellen einer Range durchlaufen.
Gruß
Kawensmann

AW: Rechnen mit Arrays
06.03.2008 13:32:00
Fred
Hallo Kawensmann,
vielen Dank für Deine Hilfe.
Gruß
Fred

Anzeige
AW: Rechnen mit Arrays
06.03.2008 13:50:00
Fred
Hi Kawensmann,
sorry, ich hab mir das Ganze jetzt nochmal angeschaut, es funktioniert aber trotzdem nicht.
Ich habe zwei Variablen kkasplan und kkasnull. Beide sind definitiv mit Werten gefüllt. Wenn ich bspw.
Range(Cells(1, 1), Cells(1, 5)).Value = kkasnull
Range(Cells(2, 1), Cells(2, 5)).Value = kkasplan
eingebe, dann kann ich mir die Werte auch zurückgeben lassen. Warum kann ich aber nicht
for i = 1 to 5 (oder auch 0 to 4)
tmp(i) = kkasnull(i) - kkasplan(i)
next i
rechnen? Ich bekomme immer sofort einen Fehler (schon beim ersten i). Was mache ich falsch? Vielen Dank für Deine Hilfe.
Gruß
Fred

Anzeige
AW: Rechnen mit Arrays
06.03.2008 20:38:21
Volti
Hallo Fred,
im obigen code hast Du nur Delta() gedimt.
Die Variablen kkasnull und kkasplan hast Du nur als Variant aber nicht als Array ausgewiesen.
In der FOR-Schleife verwendest Du diese aber als Array. das geht natürlich nicht.
Damit erklärt sich auch Deine zweite Frage, nämlich dass immer 1 rauskommt.
PS: DIM Delta(5) geht von lbound, hier 0, bis 5, das sind also 6 nicht 5 Elemente.
viele Grüße
Karl-Heinz

AW: Rechnen mit Arrays
06.03.2008 18:11:00
Dieter
Hi,
setzt mal bei End Sub einen Haltepunkt und sie dir die Arrays im Lokalfenster an, dann sollte
es klar werden.
mfg Dieter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige