Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
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

Laufzeitfehler '6' Überlauf

Laufzeitfehler '6' Überlauf
Takahara
Hallo ich erhalte eine Fehlermeldung. "Laufzeitfehler '6' Überlauf
In der Zeile 69 stoppt der Debugger und es geht nicht weiter.
Ich verstehe die Fehlermeldung nicht, da mein Programm funktioniert, wenn ich für die Variable ugrid 10 oder 20 einsetze. Wenn ich den COde kopiere und nur die Verweise zu den entsprechenden Excel Sheets ändere bekomme ich die Fehlermeldung.
Den Code habe ich unten gepostet.
Sub calc33kVZsc_neu()
Dim i As Integer 'Zählindex
Dim j As Integer 'Anzahl der unterschiedlichen Widerstandsverschaltungsmöglichkeiten
Dim z(18, 9) As Double 'Vergleichsarray
Dim diff As Double 'Differenzvariable
Dim v As Double
Dim diff1 As Double
Dim x As Double
Dim row As Integer
Dim zgrid As Double
Dim ugrid As Integer
Dim isc(18, 0) As Integer
Dim dip(18, 4) As Double
Dim isctemp As Double
Dim zsctemp As Double
Dim zser As Double
Dim diptemp As Double
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Erase z
Erase isc
Erase dip
j = 120
diff = 200
' Werte einlesen
Sheets("33 kV overview").Activate 'Wechselt zum Sheet "10 kV overview"
Application.ScreenUpdating = False 'Unterdrückt die Anzeige des Sheetwechsels
zgrid = Range("B6").Value 'Grid Value
ugrid = Range("B1").Value 'Grid voltage
For i = 0 To 17
dip(i, 1) = Range("C" & CStr(i + 11)).Value 'Dip_soll value werden eingelesen
z(i, 1) = Range("F" & CStr(i + 11)).Value 'Zser_ist value werden eingelesen
z(i, 2) = Range("G" & CStr(i + 11)).Value 'Zsc_soll value werden eingelesen
Next
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Werte berechnen
Sheets("sorted Table Zsc").Activate
For i = 0 To 17 '1. For-Schleife wird durchlaufen. Zsc_soll wird durchlaufen
v = z(i, 2)
diff = 200
For a = 4 To j '2. For-Schleife wird durchlaufen. Zsc-Tabelle wird nach dem passenden Wert für Zsc durchsucht
x = Range("B" & CStr(a)).Value
diff1 = Abs(v - x)
If diff "größer als" diff1 Then
diff = diff1
z(i, 3) = x 'Zsc_ist berechnet
z(i, 5) = Range("O" & CStr(a)).Value 'Anzahl der Spulen wird übernommen
z(i, 6) = Range("A" & CStr(a)).Value 'Index wird übernommen
End If
Next
Next
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Zsc wird neu ermittelt, um eine kleinere Dip-Abweichung zu erhalten
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
For b = 0 To 17
isc(b, 1) = (ugrid * 1000) / (Sqr(3) * (z(b, 1) + z(b, 3) + zgrid)) 'Isc wird berechnet
dip(b, 1) = 100 * (isc(b, 0) * z(b, 3) * Sqr(3)) / (ugrid * 1000) 'Dip [%] wird berechnet
dip(b, 2) = Abs(dip(b, 0) - dip(b, 1)) 'Dip Abweichung von Wunsch-Dip
''''' Es wird geschaut, ob eine andere Konstellation möglich ist und die Dip-Abweichung kleiner wird'''''
If dip(b, 2) "größer als" 0.1 Then 'aktuelle Dip-Abweichung größer als 0,1
diff = dip(b, 2)
diff1 = dip(b, 0)
zser = z(b, 0)
For c = 4 To j '3. For-Schleife wird durchlaufen. Dip-Abweichung verkleinern
zsctemp = Range("B" & CStr(c)).Value
isctemp = (ugrid * 1000) / (Sqr(3) * (zser + zsctemp + zgrid)) 'Isc wird berechnet
diptemp = 100 * (isctemp * zsctemp * Sqr(3)) / (ugrid * 1000)
If Abs(diff1 - diptemp) "kleiner als" diff Then
diff = Abs(diff1 - diptemp)
z(b, 4) = zsctemp
z(b, 7) = Range("O" & CStr(c)).Value 'Anzahl der Spulen wird übernommen
z(b, 8) = Range("A" & CStr(c)).Value 'Index wird übernommen
End If
Next
End If
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Array zusammen fügen
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
For d = 0 To 17
If z(d, 4) = 0 Then
z(d, 4) = z(d, 3)
End If
isc(d, 0) = (ugrid * 1000) / (Sqr(3) * (z(d, 1) + z(d, 4) + zgrid)) 'Isc wird berechnet
dip(d, 3) = 100 * (isc(d, 0) * z(d, 4) * Sqr(3)) / (ugrid * 1000) 'Dip [%] wird berechnet
If z(d, 8) = 0 Then
z(d, 8) = z(d, 6)
End If
If z(d, 7) = 0 Then
z(d, 7) = z(d, 5)
End If
Next
' Werte ausgeben
Sheets("33 kV overview").Activate
For i = 0 To 17
Range("H" & CStr(i + 11)).Value = z(i, 4)
Range("N" & CStr(i + 11)).Value = z(i, 7)
Range("B" & CStr(i + 11)).Value = z(i, 8)
'Range("R" & CStr(i + 11)).Value = z(i, 4)
'Range("I" & CStr(i + 11)).Value = isc(i, 0)
' Range("Q" & CStr(i + 11)).Value = isc(i, 0)
'Range("R" & CStr(i + 11)).Value = dip(i, 0)
'Range("S" & CStr(i + 11)).Value = dip(i, 1)
'Range("T" & CStr(i + 11)).Value = dip(i, 2)
' Range("U" & CStr(i + 11)).Value = z(i, 3)
' Range("V" & CStr(i + 11)).Value = z(i, 4)
' Range("W" & CStr(i + 11)).Value = dip(i, 3)
' Range("z" & CStr(i + 11)).Value = z(i, 5)
' Range("AA" & CStr(i + 11)).Value = z(i, 7)
' Range("AD" & CStr(i + 11)).Value = z(i, 6)
' Range("AE" & CStr(i + 11)).Value = z(i, 8)
Next
Ist der Befehl zum Löschen des Arrayinhaltes "Erase" der richtige?
Vielen Dank im Vorraus.

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

Betreff
Benutzer
Anzeige
AW: Laufzeitfehler '6' Überlauf
29.09.2010 10:24:10
Takahara
Ich habe das Programm noch etwas verändert. Der Fehler befindet sich nun in derZeile 67.
isc(b,1)=...........
Vielen Dank
AW: Laufzeitfehler '6' Überlauf
29.09.2010 10:32:55
xr8k2
Hallo Takahara,
ohne jetzt deinen gesamten Code analysieren zu wollen ...welche Werte haben denn im Fehlerfall diese Ausdrücke:
(z(b, 1) + z(b, 3) + zgrid))

und
ugrid
Ich schätze mal beide 0 ... und eine Berechnung von 0/0 ist schier unmöglich.
Gruß,
xr8k2
AW: Laufzeitfehler '6' Überlauf
29.09.2010 10:56:36
Takahara
Hallo
ugrid = 33
z(b,1)=86,77
z(b,3)=0
zgrid=5,445
Die Berechnung 0/0 kann es nach meiner Meinung nicht sein.
Aber vielen Dank
Anzeige
AW: Laufzeitfehler '6' Überlauf
29.09.2010 11:23:43
xr8k2
Hallo Takahara,
deklarier mal deine Variable "ugrid" statt Integer als Long ...
Gruß,
xr8k2
AW: Laufzeitfehler '6' Überlauf
29.09.2010 11:31:36
Takahara
Hallo xr8k2,
ich habe die Variable ugrid als Long deklariert und bekomme nun eine andere Fehlermeldung an der gleichen Stelle.
Laufzeitfehler '9'
Index außerhalb des gültigen Bereichs
Gruß
Takahara
AW: Laufzeitfehler '6' Überlauf
29.09.2010 11:46:25
xr8k2
Hallo Takahara,
du deklarierst di 2. Dimension von isc mit 0
Dim isc(18,0)

und willst dann aber in
isc(b, 1) = ...

was eintragen ... das Element gibt´s nicht.
Gruß,
xr8k2
Anzeige

9 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige