Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Fehler "Prozedur zu groß"
22.09.2004 12:08:08
Chris
Hallo zusammen,
habe ein Problem, vielleicht kann mir ja jemand helfen!
Ich habe einen Code geschrieben, der leider sehr lang ist! Daher kommt beim Starten immer: "Fehler beim Kompilieren: Prozedur zu groß"
Mein Programm:

Private Sub cmdOK1_Click()
Dim weg As String
Dim TableCount, pos As Integer
Dim DeinText As String
Dim i As Byte
Dim blWert As Boolean
Dim remark(2000) As String
If CheckBox2 Then
Windows("Ölfiltration.xls").Activate
Sheets("Geometriedaten Wefi").Select
Sheets("Geometriedaten Wefi").Copy After:=Arbeitsbuch. _
Sheets(Arbeitsbuch.Sheets.Count)
Call linkdatenblatt
TableCount = TableCount + 1
DeinText = "Geometriedaten Wechselfilter"
Arbeitsbuch.Worksheets("Datenblatt").Activate
Range("B20").Activate
For i = 20 To 50
If Cells(i, 2) = "" Then
With Worksheets("Datenblatt")
.Hyperlinks.Add Anchor:=.Range(Cells(i, 1), Cells(i, 1)), _
Address:="", SubAddress:="'Geometriedaten Wefi'!A1"
Range(Cells(i, 1), Cells(i, 1)).FormulaR1C1 = i - 19
End With
Cells(i, 2) = DeinText
Cells(i, 5) = remark(2)
Cells(i, 6) = TextBox5.Value
Cells(i, 7) = TextBox6.Value
Rows(i).Select
Selection.Rows.AutoFit
GoTo ende2
End If
Next i
End If
ende2:
If CheckBox3 Then
Windows("Ölfiltration.xls").Activate
Sheets("Geometriedaten Element").Select
Sheets("Geometriedaten Element").Copy After:=Arbeitsbuch. _
Sheets(Arbeitsbuch.Sheets.Count)
Call linkdatenblatt
TableCount = TableCount + 1
DeinText = "Geometriedaten Element"
Arbeitsbuch.Worksheets("Datenblatt").Activate
Range("B20").Activate
For i = 20 To 50
If Cells(i, 2) = "" Then
With Worksheets("Datenblatt")
.Hyperlinks.Add Anchor:=.Range(Cells(i, 1), Cells(i, 1)), _
Address:="", SubAddress:="'Geometriedaten Element'!A1"
Range(Cells(i, 1), Cells(i, 1)).FormulaR1C1 = i - 19
End With
Cells(i, 2) = DeinText
Cells(i, 5) = remark(3)
Cells(i, 6) = TextBox7.Value
Cells(i, 7) = TextBox8.Value
Rows(i).Select
Selection.Rows.AutoFit
GoTo ende3
End If
Next i
End If
ende3:
If CheckBox4 Then
DeinText = "Papierprüfung"
Arbeitsbuch.Worksheets("Datenblatt").Activate
Range("B20").Activate
For i = 20 To 50
If Cells(i, 2) = "" Then
Cells(i, 2) = DeinText
Cells(i, 5) = remark(4)
Cells(i, 6) = TextBox9.Value
Cells(i, 7) = TextBox10.Value
Rows(i).Select
Selection.Rows.AutoFit
GoTo ende4
End If
Next i
End If
ende4:
If CheckBox5 Then
DeinText = "Elastomerprüfung"
Arbeitsbuch.Worksheets("Datenblatt").Activate
Range("B20").Activate
For i = 20 To 50
If Cells(i, 2) = "" Then
Cells(i, 2) = DeinText
If p5_IAM = True Then
Cells(i, 4) = "- Freigabe: IAM" & vbLf & remark(51)
ElseIf p5_OEM = True Then
Cells(i, 4) = "- Freigabe: OEM" & vbLf & remark(51)
End If
Cells(i, 5) = remark(5)
Cells(i, 6) = TextBox11.Value
Cells(i, 7) = TextBox12.Value
Rows(i).Select
Selection.Rows.AutoFit
GoTo ende5
End If
Next i
End If
ende5:
End Sub

Geht bis ca. 35 Hatte etwa 10 Zeilen hinzugefügt, seitdem funktioniert es nicht mehr!
Hat mir jemand von Euch vielleicht ne Idee, wie ich es kürzen könnte!? Bzw. wie ich mehrere Kurzprogramme einbauen könnte!?
Danke im Voraus!
LG Chris

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler "Prozedur zu groß"
Nike
Hi,
rufe einfach Unterprozeduren auf...
Bye
Nike
P.S was jetzt folgt muss nicht funktionieren, soll nur andeuten, wie es gemeint ist ;-)

Private Sub cmdOK1_Click()
Dim weg As String
Dim TableCount, pos As Integer
Dim DeinText As String
Dim i As Byte
Dim blWert As Boolean
Dim remark(2000) As String
If CheckBox2 Then
call checkBox2Proz
End if
If CheckBox3 Then
call checkBox3Proz
end if
End Sub

Sub checkBox2Proz()
Windows("Ölfiltration.xls").Activate
Sheets("Geometriedaten Wefi").Select
Sheets("Geometriedaten Wefi").Copy After:=Arbeitsbuch. _
Sheets(Arbeitsbuch.Sheets.Count)
Call linkdatenblatt
TableCount = TableCount + 1
DeinText = "Geometriedaten Wechselfilter"
Arbeitsbuch.Worksheets("Datenblatt").Activate
Range("B20").Activate
For i = 20 To 50
If Cells(i, 2) = "" Then
With Worksheets("Datenblatt")
.Hyperlinks.Add Anchor:=.Range(Cells(i, 1), Cells(i, 1)), _
Address:="", SubAddress:="'Geometriedaten Wefi'!A1"
Range(Cells(i, 1), Cells(i, 1)).FormulaR1C1 = i - 19
End With
Cells(i, 2) = DeinText
Cells(i, 5) = remark(2)
Cells(i, 6) = TextBox5.Value
Cells(i, 7) = TextBox6.Value
Rows(i).Select
Selection.Rows.AutoFit
GoTo ende2
End If
Next i
End Sub
Sub checkBox3Proz()
Windows("Ölfiltration.xls").Activate
Sheets("Geometriedaten Element").Select
Sheets("Geometriedaten Element").Copy After:=Arbeitsbuch. _
Sheets(Arbeitsbuch.Sheets.Count)
Call linkdatenblatt
TableCount = TableCount + 1
DeinText = "Geometriedaten Element"
Arbeitsbuch.Worksheets("Datenblatt").Activate
Range("B20").Activate
For i = 20 To 50
If Cells(i, 2) = "" Then
With Worksheets("Datenblatt")
.Hyperlinks.Add Anchor:=.Range(Cells(i, 1), Cells(i, 1)), _
Address:="", SubAddress:="'Geometriedaten Element'!A1"
Range(Cells(i, 1), Cells(i, 1)).FormulaR1C1 = i - 19
End With
Cells(i, 2) = DeinText
Cells(i, 5) = remark(3)
Cells(i, 6) = TextBox7.Value
Cells(i, 7) = TextBox8.Value
Rows(i).Select
Selection.Rows.AutoFit
GoTo ende3
End If
Next i
End Sub
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige