Excel Auslastung bei vba Code ??

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Excel Auslastung bei vba Code ??
von: Andre
Geschrieben am: 02.12.2003 10:39:00

Huhu,

wenn ich diesen quelltext ausführe dann rechnet der immer ziemlich lange und am Ende kommt der Fehler "Überlauf", woran liegt das ?



Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
Dim Inhalt As String
Dim Inhalt2 As String
j = 2
For i = 2 To 10 Step 1
Inhalt = Workbooks("Eint.xls").Sheets("Sheet1").Cells(i, 1).Value2
Inhalt2 = Workbooks("TabelleA.xls").Sheets("Sheet1").Cells(j, 1).Value
If i = 10 Then
i = 0
j = j + 1
End If
If Inhalt = Inhalt2 Then
Workbooks("Et.xls").Sheets("Endtabelle").Cells(j, 1) = Inhalt2
End If
Next i
End Sub

Bild


Betrifft: AW: Unendlich laufende Schleifen...
von: Nike
Geschrieben am: 02.12.2003 10:55:08

Hi,
wie soll i denn je 10 erreichen, (for i = 2 to 10)
wenn du es bei 10 wieder auf 0 setzt?
(If i = 10 Then
i = 0)

Bye

Nike


Bild


Betrifft: Aber...
von: Andre
Geschrieben am: 02.12.2003 11:04:13

Es ist doch aber keine endlosschleife, kennt ihr den schreibtisch-test ??
klingt zwar bissl dumm *gg* aber was solls. Eine Tabelle mit allen Variablen
(in dem fall rechts nach links) und welchen wert sie während eines durchgangs haben

i,, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 2, 3, ...

j,, 2, 2, 2, 2, 2, 2, 2, 2, 3,

i wird immer erhöht und die if schleife wird erst aktiv wenn i 10 ist also kann i durchaus 10 erreichen, oder irre ich mich da ??


Bild


Betrifft: AW: Stimmt schon, aber...
von: Nike
Geschrieben am: 02.12.2003 11:10:51

Hi,
i erreicht zwar 10 das Problem ist,
das du i genau dann wieder auf 0 setzt
und so nicht auf 10 geprüft werden kann...

Bye

Nike


Bild


Betrifft: AW: Stimmt schon, aber...
von: André
Geschrieben am: 02.12.2003 11:11:40

Ich weiß was es ist .. ich hab für j keine begrenzung gesetzt und dadurch überlauf
danke an euch beide ^^


Bild


Betrifft: AW: Excel Auslastung bei vba Code ??
von: Nepumuk
Geschrieben am: 02.12.2003 10:56:16

Hallo Andre,
weil du dich in einer Endlosschleife befindest und in der Zeile 32.768 die Variabl j überläuft (Integer max. = +32.767)
Gruß
Nepumuk


Bild

Beiträge aus den Excel-Beispielen zum Thema " Userform"