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

Überlauf in Schleife

Überlauf in Schleife
02.10.2003 16:27:52
Steffen
Hallo und guten Tag,

ich habe folgenden CODE


Sub asw_einsetzen()
'Daten aus Originaldatei in Auswertungsdatei übernehmen
Dim quelldaten As Byte
Dim aswdaten As Byte
'Dim suchspalte As String
Dim eintragungsspalte As Byte
Dim intRow As Integer
Dim WS1 As Worksheet, WS2 As Worksheet
Dim i As Integer
Set WS1 = Workbooks("NW_ZL_MLDG_2003.xls").Worksheets("Daten")
Set WS2 = Workbooks("NW_ZL_MLDG_2003.xls").Worksheets("asw_druck")
hzasw = Workbooks(ThisWorkbook.Name).Worksheets("allgemein").Range("J64").Value
hzaswII = Workbooks(ThisWorkbook.Name).Worksheets("allgemein").Range("J65").Value
hzaswIII = Workbooks(ThisWorkbook.Name).Worksheets("allgemein").Range("N65").Value
intRow = WS1.Cells(Rows.Count, 7).End(xlUp).Row
suchspalte = Workbooks(ThisWorkbook.Name).Worksheets("allgemein").Range("N63").Value
'schutz aufheben
WS2.Unprotect (PSWDTP)
aswdaten = 3
For quelldaten = 3 To intRow
'Abfrage für normale Begriffe
If WS1.Cells(quelldaten, suchspalte).Value = hzasw And WS1.Cells(quelldaten, suchspalte).Value <> "" Then
For eintragungsspalte = 1 To 36
WS2.Cells(aswdaten, eintragungsspalte).Value = WS1.Cells(quelldaten, eintragungsspalte).Value
Next eintragungsspalte
WS2.Cells(aswdaten, 4).Value = aswdaten - 2
aswdaten = aswdaten + 1
'Abfrage für ganze Bereiche
ElseIf WS1.Cells(quelldaten, suchspalte).Value >= hzaswII And WS1.Cells(quelldaten, suchspalte).Value <= hzaswIII And WS1.Cells(quelldaten, suchspalte).Value <> "" And hzaswIII <> "" Then
For eintragungsspalte = 1 To 36
WS2.Cells(aswdaten, eintragungsspalte).Value = WS1.Cells(quelldaten, eintragungsspalte).Value
Next eintragungsspalte
WS2.Cells(aswdaten, 4).Value = aswdaten - 2
aswdaten = aswdaten + 1
'Abfrage für Beträge
ElseIf WS1.Cells(quelldaten, suchspalte).Value > 0 And suchspalte >= 20 And suchspalte <> 33 Then
For eintragungsspalte = 1 To 36
WS2.Cells(aswdaten, eintragungsspalte).Value = WS1.Cells(quelldaten, eintragungsspalte).Value
Next eintragungsspalte
WS2.Cells(aswdaten, 4).Value = aswdaten - 2
aswdaten = aswdaten + 1
Else
End If
Next quelldaten
'Änderungen einschalten
Application.ScreenUpdating = True
'Auswertungsdaten nummerieren
nummerieren_asw
'schutz setzen
WS2.Protect Password:=PSWDTP, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End Sub


Mein Problem ist jetzt, dass Excel einen Überlauf bei folgender Zeile bringt:

For quelldaten = 3 To intRow

Ich habe in meiner Tabelle 385 Datensätze und Excel steigt bei ca. 250 Datensätze mit dem Fehler aus: Laufzeitfehler 6 Überlauf.

Meine Tabelle wird sicherlich noch größer, wie bekomme ich den Fehler weg?

Danke schonmal

Steffen

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Überlauf in Schleife
02.10.2003 16:31:45
PeterW
Hallo Steffen,

schau dir mal die Dimensionierung von Quelldaten an.

Gruß
Peter
AW: Überlauf in Schleife
02.10.2003 16:54:06
GraFri
Hallo

Hallo

Der Datentyp Byte hat nur einen Bereich bis 255.
Besser wäre Datentyp Integer (+/- 32768) bzw. Datentyp Long (+/- 2147483648)

mfg, GraFri

mfg, GraFri
Danke Dir,
03.10.2003 10:16:17
Steffen
mit Long ging es super

Steffen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige