Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
296to300
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
296to300
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Index außerhalb des gültigen Bereichs

Index außerhalb des gültigen Bereichs
19.08.2003 12:32:08
Alex Ickert
Hallo ich bin totaler VBA-Neuling,
und habe Folgendes vor: Ich möchte die bereits in einer Excel-Tabelle berechneten Werte in VBA einlesen, und mit diesen dann in einer Schleife Berechnungen durchführen. Die Schleife soll stoppen wenn ein berechneter Wert kleiner ist als der eingelesene. Dann sollen die berechneten Werte aus VBA in der Excel-Tabelle ausgegeben werden.
Ich habe Folgendes versucht und bekommen die Meldung: Index außerhalb des gültigen Bereichs! Des weiteren könnte das Programm weitere schwere Fehler enthalten!

Sub Walzenvorschub()
Dim genau(15, 9) As Variant
Dim med(15, 9) As Variant
Dim mg(15, 9) As Variant
Dim mgeschw(15, 9) As Variant
Dim nm(15, 9) As Variant
Dim pi(15, 9) As Variant
Dim bm(15, 9) As Variant
Dim vw(15, 9) As Variant
Dim tb(15, 9) As Variant
Dim techdaten3(15, 9) As Variant
Dim techdaten2(15, 9) As Variant
Dim tg(15, 9) As Variant
Dim tk(15, 9) As Variant
Dim ts(15, 9) As Variant
Dim c0(15, 9) As Variant
Dim jg(15, 9) As Variant
Dim be(15, 9) As Variant
Workbooks("Servo2.xls").Activate
Worksheets("Tabelle1").Activate
genau(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(44, 6).Value
mg(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(28, 3).Value
mgeschw(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(24, 8).Value
nm(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(50, 3).Value
pi(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(21, 9).Value
bm(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(26, 8).Value
vw(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(23, 3).Value
c0(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(54, 6).Value
techdaten3(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(31, 8).Value
techdaten2(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(30, 8).Value
jg(15, 9) = Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(18, 7).Value
L50:    tb(15, 9) = ((jg(15, 9) + techdaten2(15, 9)) * nm(15, 9) * pi(15, 9)) / (30 * bm(15, 9))
be(15, 9) = mgeschw(15, 9) / (tb(15, 9) * 60)
ts(15, 9) = (log((mgeschw(15, 9) * 100 / 3) / (c0(15, 9) ^ 2 * genau(15, 9) * tb(15, 9))) - 1) / c0(15, 9)
If (ts(15, 9) < 0.01) Then ts(15, 9) = 0.01
If (vw(15, 9) < 30) Then
tk(15, 9) = vw(15, 9)
Else
tk(15, 9) = (2 * tb(15, 9) + ts(15, 9)) * (360 / vw(15, 9) - 1)
End If
tg(15, 9) = 2 * tb(15, 9) + ts(15, 9) + tk(15, 9)
med(15, 9) = sqr(((bm(15, 9) + mg(15, 9)) ^ 2 * tb(15, 9) + (bm(15, 9) - mg(15, 9)) ^ 2 * (tb(15, 9) + ts(15, 9)) + mg(15, 9) ^ 2 * tk(15, 9)) / tg(15, 9))
If (techdaten3(15, 9) < med(15, 9) And bm(15, 9) > 10) Then
bm(15, 9) = bm(15, 9) - 1
GoTo L50
End If
If (techdaten3(15, 9) < med(15, 9) And bm(15, 9) > 0.1) Then
bm(15, 9) = bm(15, 9) - 0.1
GoTo L50
End If
Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(38, 11).Value = bm(15, 9)
Workbooks("Servo2.xls").Worksheets("Tabelle1").Cells(39, 11).Value = be(15, 9)
End Sub

Ich versuche das Programm auf den Server zu Laden unter dem Namen: Servo2.xls
Währe echt super wenn mir einer weiter Helfen könnte!
Danke im Vorraus!
Gruß Alex

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

Betreff
Datum
Anwender
Anzeige
AW: Index außerhalb des gültigen Bereichs
19.08.2003 12:36:02
ChrisL
Hi Alex
Ist die Datei Servo2.xls geöffnet und Tabell1 vorhanden?
> Ich versuche das Programm auf den Server zu Laden unter dem Namen: Servo2.xls
Was meinst du damit?
Gruss
Chris

AW: Index außerhalb des gültigen Bereichs
19.08.2003 12:41:23
Ickert Alexander
Das geht ja schnell!
Also Servo2.xls ist geöffnet und Tabelle1 ist vorhanden!
Das Programm Servo2.xls ist jetzt auf dem Server unter dem Link:
https://www.herber.de/bbs/user/635.xls

AW: Index außerhalb des gültigen Bereichs
19.08.2003 12:50:24
ChrisL
Hi Alex
Wenn ich die Mappe als Servo2.xls umbenenne und 'Tabelle1' in 'Walzenvorschub' ändere erhalte ich keine Fehlermeldung.
Ob die Berechnung selber richtig ist, kann ich natürlich nicht beurteilen, aber das Programm scheint fehlerfrei zu laufen.
Gruss
Chris

Anzeige
AW: Index außerhalb des gültigen Bereichs
19.08.2003 13:27:03
Alex Ickert
Hallo Chris, danke für deine schnelle Hilfe
Ich verstehe leider nicht genau wo ich was umbenennen soll!
Könntest du vielleicht das von Dir korregierte Programm hochladen?
gruß Alex

AW: Index außerhalb des gültigen Bereichs
19.08.2003 13:38:15
ChrisL

Sub Walzenvorschub()
Dim genau(15, 9) As Variant
Dim med(15, 9) As Variant
Dim mg(15, 9) As Variant
Dim mgeschw(15, 9) As Variant
Dim mk(15, 9) As Variant
Dim mo(15, 9) As Variant
Dim ms(15, 9) As Variant
Dim nm(15, 9) As Variant
Dim ph(15, 9) As Variant
Dim pi(15, 9) As Variant
Dim bm(15, 9) As Variant
Dim vw(15, 9) As Variant
Dim tb(15, 9) As Variant
Dim techdaten3(15, 9) As Variant
Dim techdaten2(15, 9) As Variant
Dim tg(15, 9) As Variant
Dim tk(15, 9) As Variant
Dim ts(15, 9) As Variant
Dim c0(15, 9) As Variant
Dim jg(15, 9) As Variant
Dim be(15, 9) As Variant
Workbooks("Servo2.xls").Activate
Worksheets("Walzenvorschub").Activate
genau(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(44, 6).Value
'med(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(37, 9).Value
mg(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(28, 3).Value
mgeschw(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(24, 8).Value
'mk(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(26, 7).Value
'mo(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(20, 7).Value
'ms(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(25, 7).Value
nm(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(50, 3).Value
'ph(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(23, 7).Value
pi(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(21, 9).Value
bm(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(26, 8).Value
vw(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(23, 3).Value
'tb(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(39, 9).Value
'tg(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(42, 7).Value
'tk(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(41, 7).Value
'ts(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(40, 7).Value
c0(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(54, 6).Value
techdaten3(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(31, 8).Value
techdaten2(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(30, 8).Value
jg(15, 9) = Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(18, 7).Value
L50:    tb(15, 9) = ((jg(15, 9) + techdaten2(15, 9)) * nm(15, 9) * pi(15, 9)) / (30 * bm(15, 9))
be(15, 9) = mgeschw(15, 9) / (tb(15, 9) * 60)
ts(15, 9) = (log((mgeschw(15, 9) * 100 / 3) / (c0(15, 9) ^ 2 * genau(15, 9) * tb(15, 9))) - 1) / c0(15, 9)
If (ts(15, 9) < 0.01) Then ts(15, 9) = 0.01
If (vw(15, 9) < 30) Then
tk(15, 9) = vw(15, 9)
Else
tk(15, 9) = (2 * tb(15, 9) + ts(15, 9)) * (360 / vw(15, 9) - 1)
End If
tg(15, 9) = 2 * tb(15, 9) + ts(15, 9) + tk(15, 9)
med(15, 9) = sqr(((bm(15, 9) + mg(15, 9)) ^ 2 * tb(15, 9) + (bm(15, 9) - mg(15, 9)) ^ 2 * (tb(15, 9) + ts(15, 9)) + mg(15, 9) ^ 2 * tk(15, 9)) / tg(15, 9))
If (techdaten3(15, 9) < med(15, 9) And bm(15, 9) > 10) Then
bm(15, 9) = bm(15, 9) - 1
GoTo L50
End If
If (techdaten3(15, 9) < med(15, 9) And bm(15, 9) > 0.1) Then
bm(15, 9) = bm(15, 9) - 0.1
GoTo L50
End If
Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(38, 11).Value = bm(15, 9)
Workbooks("Servo2.xls").Worksheets("Walzenvorschub").Cells(39, 11).Value = be(15, 9)
End Sub

Gruss
Chris

Anzeige
AW: Index außerhalb des gültigen Bereichs
19.08.2003 13:47:31
Alex Ickert
Riesen Danke Schön!!!
Jetzt tut's!
Gruß Alex

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige