Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1036to1040
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
Inhaltsverzeichnis

Fehler in Code / Erbitte um Hilfe

Fehler in Code / Erbitte um Hilfe
31.12.2008 22:52:00
Flo

Hi Leute
Vorab einen guten Rutsch
Habe ein kleines / grosses Problemchen.
Sobald ich die Daten für die Labels 300 - 701 holen will habe ich ein Systemabsturm.
D.h. Laufzeitfehler.
Wisst Ihr warum? Brauche hilfe bevor ich dieses Ding in die Luft sprenge.
Nimm ich die Labels Nr. 300 - 701 raus, d.h. nicht in Code geht alles prima.
Dim CommandButtons(100) As KlInfoButton
Dim meClose As Boolean 'Ist Bestandteil von QueryClose

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If meClose = False Then Cancel = True
End Sub



Private Sub CommandButton51_Click()
If MsgBox("Wollen Sie schliessen und speichern?", vbYesNo, "speicher/beenden") = vbYes Then
BeimSchliessen 'alle Commandbars einblenden (Makro, Schutz etc.)
meClose = True
Unload Me
Sheets("Start").Select
warten
Application.Wait Time + TimeSerial(0, 0, 2) '2 Sekunden warten
ende
Else
BeimSchliessen
ende
End If
End Sub


Sub LadeZUstand()
Dim zuStand As Boolean, a As Long, iZeil As Byte
On Error Resume Next
MePage (ActiveSheet.Index - 10)
Set iniClass = New KlMeineIniDatei
For a = 11 To 50
Select Case (a - 10)
Case 1
iZeil = iZeil + 7
Case 9
iZeil = iZeil + 10
Case 17
iZeil = iZeil + 10
Case 25
iZeil = iZeil + 10
Case 33
iZeil = iZeil + 10
End Select
iZeil = iZeil + 1
With ETWA1("CommandButton" & a)
.ControlTipText = _
iniClass.GetPrivateProfileString(ActiveSheet.name, .name)
Sheets("AF1").Cells(iZeil, 31) = .ControlTipText
End With
Next a
For a = 1 To 400
With ETWA1("OptionButton" & a)
zuStand = _
iniClass.GetPrivateProfileString(ActiveSheet.name, ETWA1("OptionButton" & a).name)
End With
ETWA1("OptionButton" & a) = zuStand
ETWA1("OptionButton" & a).Tag = ""
Next a
Set iniClass = Nothing
On Error GoTo 0
End Sub


Sub SchreibeZustand()
Dim zuStand As Boolean, a As Long
On Error Resume Next
Set iniClass = New KlMeineIniDatei
For a = 11 To 50
With ETWA1("CommandButton" & a)
ETWA1("CommandButton" & a).ControlTipText = _
iniClass.WritePrivateProfileString(ActiveSheet.name, ETWA1("CommandButton" & a).name, ETWA1("CommandButton" & a).ControlTipText)
End With
Next a
For a = 1 To 400
With ETWA1("OptionButton" & a)
iniClass.WritePrivateProfileString ActiveSheet.name, ETWA1("OptionButton" & a).name, ETWA1("OptionButton" & a)
End With
Next a
Set iniClass = Nothing
On Error GoTo 0
End Sub



Private Sub UserForm_Terminate()
SchreibeZustand
End Sub


'Von Userform ETWA1 page1 zu Fragebogen7 zurück.


Private Sub CommandButton1_Click() 'page1 zu Fragebogen7 zurück
meClose = True
Unload Me
Sheets("BF1").Visible = xlVeryHidden
Einleitungrisikobewertung2.Show
End Sub



Private Sub CommandButton2_Click() 'page1 zu page2 weiter
With Sheets("BF1")
If (.Range("C17") = 17) And (.Range("J17") = 17) Then
MePage (1)
Else
MsgBox "Sie haben noch nicht alle Fragen beantwortet", 64, "Achtung"
End If
End With
End Sub



Private Sub CommandButton3_Click() 'page2 zu page1 zurück
MePage (0)
End Sub



Private Sub CommandButton4_Click() 'page2 zu page3 weiter
With Sheets("BF1")
If (.Range("C35") = 17) And (.Range("J35") = 17) Then
MePage (2)
Else
MsgBox "Sie haben noch nicht alle Fragen beantwortet", 64, "Achtung"
End If
End With
End Sub



Private Sub CommandButton5_Click() 'page3 zu page2 zurück
MePage (1)
End Sub



Private Sub CommandButton6_Click() 'page3 zu page4 weiter
With Sheets("BF1")
If (.Range("C53") = 17) And (.Range("J53") = 17) Then
MePage (3)
Else
MsgBox "Sie haben noch nicht alle Fragen beantwortet", 64, "Achtung"
End If
End With
End Sub



Private Sub CommandButton7_Click() 'page4 zu page3 zurück
MePage (2)
End Sub



Private Sub CommandButton8_Click() 'page4 zu page5 weiter
With Sheets("BF1")
If (.Range("C71") = 17) And (.Range("J71") = 17) Then
MePage (4)
Else
MsgBox "Sie haben noch nicht alle Fragen beantwortet", 64, "Achtung"
End If
End With
End Sub



Private Sub CommandButton9_Click() 'page5 zu page4 zurück
MePage (3)
End Sub



Private Sub CommandButton10_Click() 'page5 zu ETWA2 weiter
With Sheets("BF1")
If (.Range("C89") = 17) And (.Range("J89") = 17) Then
meClose = True
Unload Me 'damit die Userform völlig geschlossen wird.
Sheets("BF1").Visible = xlVeryHidden
Sheets("BF2").Visible = True
ETWA2.Show
Else
MsgBox "Sie haben noch nicht alle Fragen beantwortet", 64, "Achtung"
End If
End With
End Sub


'Fragen welche im ETWA1 geschrieben werden, werden in Userform übertragen. Nur im AF1 Fragen ändern.


Private Sub userform_initialize()
Dim a As Long, b As Long, LetzteTab As String
Dim InI As Integer
Sheets("BF1").Select
Set BF1Tabelle = ActiveSheet
InI = 0
For comA = 11 To 50
Set CommandButtons(InI) = New KlInfoButton
Set CommandButtons(InI).cmdCommandButton = ETWA1("CommandButton" & comA)
InI = InI + 1
Next comA
LadeZUstand
With BF1Tabelle
For a = 1 To 8
'Label zu ETWA1 Page1
ETWA1("Label" & a).Caption = .Cells(8 + b, 2)
b = b + 1
Next a
b = 0
For a = 9 To 16
'Label zu ETWA1 Page2
ETWA1("Label" & a).Caption = .Cells(26 + b, 2)
b = b + 1
Next a
b = 0
For a = 17 To 24
'Label zu ETWA1 Page3
ETWA1("Label" & a).Caption = .Cells(44 + b, 2)
b = b + 1
Next a
'Label zu ETWA1 Page3
b = 0
For a = 25 To 32
'Label zu ETWA1 Page4
ETWA1("Label" & a).Caption = .Cells(62 + b, 2)
b = b + 1
Next a
b = 0
For a = 33 To 40
'Label zu ETWA1 Page5
ETWA1("Label" & a).Caption = .Cells(80 + b, 2)
b = b + 1
Next a
End With
'Label300.Caption = Sheets("BF1").Cells(5, 1)
'Label301.Caption = Sheets("BF1").Cells(5, 2)
'Label400.Caption = Sheets("BF1").Cells(23, 1)
'Label401.Caption = Sheets("BF1").Cells(23, 2)
'Label500.Caption = Sheets("BF1").Cells(41, 1)
'Label501.Caption = Sheets("BF1").Cells(41, 2)
'Label600.Caption = Sheets("BF1").Cells(59, 1)
'Label601.Caption = Sheets("BF1").Cells(59, 2)
'Label700.Caption = Sheets("BF1").Cells(77, 1)
'Label701.Caption = Sheets("BF1").Cells(77, 2)
End Sub


Function KlasseInitialisieren(byKlass As Long)
Dim CoCb As Control, comA As Byte
Dim InI As Integer
Dim CommandButtons(40) As KlInfoButton
For Each CoCb In Me.Controls
If TypeName(CoCb) = "OptionButton" Then
Set COption1(InI).OptionButton = CoCb
InI = InI + 1
CoCb.Caption = CStr(CoCb.name)
End If
Next CoCb
End Function


Function MePage(opjPage As Long)
Dim a As Long
For a = 0 To MultiPage1.Pages.Count - 1
MultiPage1.Pages(a).Enabled = False
Next a
MultiPage1.Pages(opjPage).Enabled = True
ETWA1.MultiPage1.Value = opjPage
KlasseInitialisieren (opjPage)
End Function


Function EventsScrin(a As Boolean)
Application.ScreenUpdating = a
Application.EnableEvents = a
End Function


'Falls im ersten Set Fragebogen 1-7 eine Frage mit nicht relevant beantwortet wird
'sind auch die Button's entsprechend in ETWA 1-7 ausgeblendet. Unten sind die
'einzelnen Buttons codiert. Zeilen werden in ETWA auf 0 gesetzt.
Sub MeButton(Gruppe As Integer)
Dim opjOp As MSForms.Control
For Each opjOp In ETWA1.Controls
'Prüfe ob opjOp ein OptionButton ist
If TypeName(opjOp) = "OptionButton" Then
'Prüfe ob dieser der Gruppe zugehört
If opjOp.GroupName = Gruppe Then 'hier den Gruppennamen
opjOp.Enabled = False
End If
End If
Next opjOp
End Sub


Gruß
Flo

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in Code / Erbitte um Hilfe
01.01.2009 01:04:21
Ramses
Hallo
Auch dir ein Gutes Neues Jahr.
Aber glaubst du wirklich das baut jemand nach um zu testen wo der Fehler ist ?
Lade doch am Besten eine Beispielmappe hoch.
Gruss Rainer
AW: Fehler in Code / Erbitte um Hilfe
01.01.2009 01:34:38
Flo
Hi Rainer
Habe den Fehler gefunden. War am Schluss ein Klacks.
Anstatt Label300 etc.
("Label300").....
Nochmals alles Gute im neuen Jahr 2009 und hoffentlich nicht so hektisch wie das 2008.
Gruß
Flo
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige