Hi,
ich bekomm die Fehlermeldung "nicht genügend Stapelspeicher".
Ich hab ein Flexgrid aus einer Textdatei (ca 1MB groß) und suche da aus einer zweiten Liste nach identischen Werten.
Bei Zeile 20 bekomm ich dann die Fehlermeldung (bin aus dem FAQ Hinweis nicht schlauer geworden)
Hier mal der Code des Prozesses:
Private Sub KostenstellenKontrolle_Click()
'ExcelDatei öffnen
Excel.Workbooks.Open App.Path & "\Sachkonten.xls"
LFlag = True
If Not LFlag Then Exit Sub
txtSachkontoC.Text = Excel.Cells(frmMain.txtZeileSachkonto, 1)
txtKostenstelleC.Text = Excel.Cells(frmMain.txtZeileSachkonto, 2)
'Prüfung, ob Sachkonten die selben sind
If frmMain.txtSachkonto <> frmMain.txtSachkontoC Then
Dateiname$ = App.Path
If Right(Dateiname$, 1) <> "\" Then Dateiname$ = Dateiname$ & "\"
Dateiname$ = Dateiname$ & "Einstellungen.ini"
x = WriteINI(Dateiname$, "Einstellungen", "Sachkonto", _
frmMain.txtZeileSachkonto + 1)
frmMain.Refresh
txtZeileSachkonto = GetINIString(Dateiname$, "Einstellungen", _
"Sachkonto")
Call btnDurchchecken_Click
Else
If txtKostenstelle <> txtKostenstelleC Then
'txtFehler = "Fehler"
Call Protokollierung_Click
'Call btnDurchchecken_Click
Else
'txtFehler = "Richtig"
Dateiname$ = App.Path
If Right(Dateiname$, 1) <> "\" Then Dateiname$ = Dateiname$ & "\"
Dateiname$ = Dateiname$ & "Einstellungen.ini"
x = WriteINI(Dateiname$, "Einstellungen", "Zeile", txtZeile + 1)
x = WriteINI(Dateiname$, "Einstellungen", "Sachkonto", "1")
txtZeile = GetINIString(Dateiname$, "Einstellungen", "Zeile")
frmMain.txtKostenstelle.BackColor = &HFF00&
frmMain.txtKostenstelleC.BackColor = &HFF00&
frmMain.Refresh
Excel.Workbooks.Close
Call btnDurchchecken_Click
End If
End If
If frmMain.txtSachkonto = "" Then
'Message Box
MsgBox "Die Verarbeitung ist vollständig mit " & frmMain.txtFehler & "" & _
"Fehlern abgeschlossen!", vbOKOnly, "Statusmeldung"
'Rücksetzen der INI
Exit Sub
End If
End Sub
Public Sub Protokollierung_Click()
Dim r As Long 'Zeile
Dim c As Long 'Spalte
Dim VorlaufNr As Long 'Vorlauf
Dim BSNr As Long 'Buchungssatznummer
Dim Umsatz As Long 'Umsatz
Dim Gegenkonto As Long 'Gegenkonto
Dim Sachkonto As Long 'Sachkonto
Dim Belegdatum As Long 'Belegdatum
Dim BelegnNr As Long 'BelegNr
Dim BUText As Long 'Buchungstext
Dim Kostenstelle As Long 'Kostenstelle
VorlaufNr = mshgData.TextMatrix(frmMain.txtZeile, 1)
BSNr = mshgData.TextMatrix(frmMain.txtZeile, 1)
Umsatz = mshgData.TextMatrix(frmMain.txtZeile, 4)
Sachkonto = mshgData.TextMatrix(frmMain.txtZeile, 6)
Gegenkonto = mshgData.TextMatrix(frmMain.txtZeile, 7)
Belegdatum = mshgData.TextMatrix(frmMain.txtZeile, 8)
BelegNr = mshgData.TextMatrix(frmMain.txtZeile, 9)
'BUText = mshgData.TextMatrix(frmMain.txtZeile, 12)
Kostenstelle = mshgData.TextMatrix(frmMain.txtZeile, 13)
'Protokollierung:
sFile = "C:\KostenstellenCheck.csv"
f = FreeFile
Open sFile For Append As #f
Print #f, VorlaufNr; ";"; BSNr; ";"; Umsatz; ";"; Gegenkonto; ";"; _
Sachkonto; ";"; Belegdatum; ";"; BelegNr; ";"; BUText; ";"; Kostenstelle; _
";"; "Richtige Kostenstelle:"; ";"; frmMain.txtKostenstelleC
Close #f
Dateiname$ = App.Path
If Right(Dateiname$, 1) <> "\" Then Dateiname$ = Dateiname$ & "\"
Dateiname$ = Dateiname$ & "Einstellungen.ini"
x = WriteINI(Dateiname$, "Einstellungen", "Zeile", txtZeile + 1)
x = WriteINI(Dateiname$, "Einstellungen", "Sachkonto", "1")
x = WriteINI(Dateiname$, "Einstellungen", "Fehler", frmMain.txtFehler + 1)
txtZeile = GetINIString(Dateiname$, "Einstellungen", "Zeile")
frmMain.txtKostenstelle.BackColor = &HFF&
frmMain.txtKostenstelleC.BackColor = &HFF&
frmMain.Refresh
Excel.Workbooks.Close
'Um die Schleife zu starten
Call btnDurchchecken_Click
End Sub Wäre klasse wenn mir jemand weiterhelfen könnte!
Vielen Dank |