Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Laufzeitfehler 9 mal wieder Sry

Betrifft: Laufzeitfehler 9 mal wieder Sry von: Martin
Geschrieben am: 17.09.2020 14:56:09

Hallo zusammen,


Ich habe ein kleines Problem das mich zum verzweifeln bringt.

Ich habe eine Mappe erstellt in der über ein Formular Prüfaufträge erstellt werden können.

Die Daten werden dann Automatisch in eine Überischt eingetragen und es wird eine Mail versendet.


Das ganze Funktioniert eigentlich auch sehr gut, leider gibt es da ein paar benutzer bei denen taucht beim Übernehmen der Daten eben der Laufzeitfehler 9 auf. Bei jedem anderen Funktioniert es tadellos.

Deswegen denke ich nicht das der Code an Sich falsch ist sondern das mir vielleicht etwas fehlt um das ganze zu umgehen.

Ich habe die Bezzeichnung der Mappen auch schon komplett umgestellt das hier keine Umlaute mehr enthalten sind und das ganze 10x kontrolliert das passt.


Wenn bei besagten Personen der Fehler auftritt Schickt das Programm dennoch eine Mail, obwohl diese erst nach Übernahme der Daten in die Excel gesendet werden sollte. SOLLTE!!!!!


Vielleicht hat einer Ja noch einen Tipp was ich tun kann.



Private Sub Datenoutlook_Click()                    'Daten mit Outlook versenden
'Abfrage ob eingabe in Pflichfelder OK

If Not EingabeOK Then
   MsgBox "Pflichtfelder bitte ausfüllen!", vbExclamation
   
   Exit Sub
End If
'Ende Anfrage der Pflichtfelder

Dim StartZeile&
Dim Ws As Worksheet
Set Ws = Worksheets("Uebersicht")
Dim nächster_Wert As Long
StartZeile = Ws.Cells(65536, 1).End(xlUp).Row + 1

Ws.Unprotect "Labor18"      'Blattschutz Aufheben

'Controlle der Auswahl Prüfgrund

Static CTL As Control
Static check As Boolean
For Each CTL In Me.Controls
     If TypeName(CTL) = "CheckBox" Then
         check = check Or CTL.Value
     End If
 Next CTL
If Not check Then
MsgBox "Bitte Prüfgrund auswählen und", vbExclamation
  Exit Sub
Else

'Ende Kontrolle auswahl Prüfgrund

'Zurodnung wo in Der Uebersicht was eingetragen wird
     
Ws.Cells(StartZeile, 1) = Pruefnr
Ws.Cells(StartZeile, 2) = BearbeiterA
Ws.Cells(StartZeile, 3) = KundenArtikel1 & vbCrLf & KundenArtikel2 & vbCrLf & KundenArtikel3 &  _
vbCrLf & KundenArtikel4
Ws.Cells(StartZeile, 4) = PPSNR1 & vbCrLf & PPSNR2 & vbCrLf & PPSNR3 & vbCrLf & PPSNR4
Ws.Cells(StartZeile, 5) = Bezeichnung1 & vbCrLf & Bezeichnung2 & vbCrLf & Bezeichnung3 & vbCrLf  _
& Bezeichnung4
Ws.Cells(StartZeile, 6) = Kunde1 & vbCrLf & Kunde2 & vbCrLf & Kunde3 & vbCrLf & Kunde4
Ws.Cells(StartZeile, 7) = Hersteller1 & vbCrLf & Hersteller2 & vbCrLf & Hersteller3 & vbCrLf &  _
Hersteller4
Ws.Cells(StartZeile, 8) = Pruefung1 & vbCrLf & Pruefung2 & vbCrLf & Pruefung3 & vbCrLf &  _
Pruefung4 & vbCrLf & Pruefung5 & vbCrLf & Pruefung6 & vbCrLf & Pruefung7 & vbCrLf & Pruefung8 & vbCrLf & Pruefung9 & vbCrLf & Pruefung10 & vbCrLf & Pruefung11 & vbCrLf & Pruefung12 & vbCrLf & Pruefung13 & vbCrLf & Pruefung14 & vbCrLf & Pruefung15
Ws.Cells(StartZeile, 9) = KundenNorm1 & vbCrLf & KundenNorm2 & vbCrLf & KundenNorm3 & vbCrLf &  _
KundenNorm4 & vbCrLf & KundenNorm5 & vbCrLf & KundenNorm6 & vbCrLf & KundenNorm7 & vbCrLf & KundenNorm8 & vbCrLf & KundenNorm9 & vbCrLf & KundenNorm10 & vbCrLf & KundenNorm11 & vbCrLf & KundenNorm12 & vbCrLf & KundenNorm13 & vbCrLf & KundenNorm14 & vbCrLf & KundenNorm15
Ws.Cells(StartZeile, 10) = DurchF1 & vbCrLf & DurchF2 & vbCrLf & DurchF3 & vbCrLf & DurchF4 &  _
vbCrLf & DurchF5 & vbCrLf & DurchF6 & vbCrLf & DurchF7 & vbCrLf & DurchF8 & vbCrLf & DurchF9 & vbCrLf & DurchF10 & vbCrLf & DurchF11 & vbCrLf & DurchF12 & vbCrLf & DurchF13 & vbCrLf & DurchF14 & vbCrLf & DurchF15
Ws.Cells(StartZeile, 11) = Material1 & vbCrLf & Material2 & vbCrLf & Material3 & vbCrLf &  _
Material4
Ws.Cells(StartZeile, 13) = TerminA
Ws.Cells(StartZeile, 14) = TerminabA
Ws.Cells(StartZeile, 15) = Bemerk1 & vbCrLf & Bemerk2 & vbCrLf & Bemerk3 & vbCrLf & Bemerk4 &  _
vbCrLf & Bemerk5 & vbCrLf & Bemerk6 & vbCrLf & Bemerk7 & vbCrLf & Bemerk8 & vbCrLf & Bemerk9 & vbCrLf & Bemerk10 & vbCrLf & Bemerk11 & vbCrLf & Bemerk12 & vbCrLf & Bemerk13 & vbCrLf & Bemerk14 & vbCrLf & Bemerk15
Ws.Cells(StartZeile, 16) = Verteiler1 & vbCrLf
Ws.Cells(StartZeile, 17) = DatumA
Ws.Cells(StartZeile, 18) = AenderngA
Ws.Cells(StartZeile, 19) = ProjektNr1
Ws.Cells(StartZeile, 20) = Projektbez1
Ws.Cells(StartZeile, 21) = Projektleiter1
Ws.Cells(StartZeile, 22) = FertigDat1
Ws.Cells(StartZeile, 23) = FetigungsA1
Ws.Cells(StartZeile, 24) = KostenSt1
Ws.Cells(StartZeile, 25) = Sparte1
Ws.Cells(StartZeile, 26) = ZeitbedarfA
'Ws.Cells(StartZeile, 27) = Me.Intern.Enabled = True
Ws.Cells(StartZeile, 30) = Pos1 & vbCrLf & Pos2 & vbCrLf & Pos3 & vbCrLf & Pos4 & vbCrLf & Pos5  _
& vbCrLf & Pos6 & vbCrLf & Pos7 & vbCrLf & Pos8 & vbCrLf & Pos9 & vbCrLf & Pos10 & vbCrLf & Pos11 & vbCrLf & Pos12 & vbCrLf & Pos13 & vbCrLf & Pos14 & vbCrLf & Pos15
Ws.Cells(StartZeile, 31) = Soll1 & vbCrLf & Soll2 & vbCrLf & Soll3 & vbCrLf & Soll4 & vbCrLf &  _
Soll5 & vbCrLf & Soll6 & vbCrLf & Soll7 & vbCrLf & Soll8 & vbCrLf & Soll9 & vbCrLf & Soll10 & vbCrLf & Soll11 & vbCrLf & Soll12 & vbCrLf & Soll13 & vbCrLf & Soll14 & vbCrLf & Soll15

'Daten in Deckblatt übernehmen

Worksheets("Deckblatt").Range("H1").Value = Me.Pruefnr

Worksheets("Deckblatt").Range("A4").Value = Me.KundenArtikel1
Worksheets("Deckblatt").Range("A5").Value = Me.KundenArtikel2
Worksheets("Deckblatt").Range("A6").Value = Me.KundenArtikel3
Worksheets("Deckblatt").Range("A7").Value = Me.KundenArtikel4

Worksheets("Deckblatt").Range("E4").Value = Me.PPSNR1
Worksheets("Deckblatt").Range("E5").Value = Me.PPSNR2
Worksheets("Deckblatt").Range("E6").Value = Me.PPSNR3
Worksheets("Deckblatt").Range("E7").Value = Me.PPSNR4

Worksheets("Deckblatt").Range("J4").Value = Me.Bezeichnung1
Worksheets("Deckblatt").Range("J5").Value = Me.Bezeichnung2
Worksheets("Deckblatt").Range("J6").Value = Me.Bezeichnung3
Worksheets("Deckblatt").Range("J7").Value = Me.Bezeichnung4

Worksheets("Deckblatt").Range("P4").Value = Me.Material1
Worksheets("Deckblatt").Range("P5").Value = Me.Material2
Worksheets("Deckblatt").Range("P6").Value = Me.Material3
Worksheets("Deckblatt").Range("P7").Value = Me.Material4

Worksheets("Deckblatt").Range("T4").Value = Me.Hersteller1
Worksheets("Deckblatt").Range("T5").Value = Me.Hersteller2
Worksheets("Deckblatt").Range("T6").Value = Me.Hersteller3
Worksheets("Deckblatt").Range("T7").Value = Me.Hersteller4

Worksheets("Deckblatt").Range("Y4").Value = Me.Kunde1
Worksheets("Deckblatt").Range("Y5").Value = Me.Kunde2
Worksheets("Deckblatt").Range("Y6").Value = Me.Kunde3
Worksheets("Deckblatt").Range("Y7").Value = Me.Kunde4

Worksheets("Deckblatt").Range("D10").Value = Me.ProjektNr1
Worksheets("Deckblatt").Range("M10").Value = Me.Projektbez1
Worksheets("Deckblatt").Range("AA10").Value = Me.FertigDat1
Worksheets("Deckblatt").Range("D12").Value = Me.Projektleiter1
Worksheets("Deckblatt").Range("L12").Value = Me.Sparte1
Worksheets("Deckblatt").Range("W12").Value = Me.FetigungsA1
Worksheets("Deckblatt").Range("AG12").Value = Me.KostenSt1

Worksheets("Deckblatt").Range("A15").Value = Me.Pos1
Worksheets("Deckblatt").Range("A16").Value = Me.Pos2
Worksheets("Deckblatt").Range("A17").Value = Me.Pos3
Worksheets("Deckblatt").Range("A18").Value = Me.Pos4
Worksheets("Deckblatt").Range("A19").Value = Me.Pos5
Worksheets("Deckblatt").Range("A20").Value = Me.Pos6
Worksheets("Deckblatt").Range("A21").Value = Me.Pos7
Worksheets("Deckblatt").Range("A22").Value = Me.Pos8
Worksheets("Deckblatt").Range("A23").Value = Me.Pos9
Worksheets("Deckblatt").Range("A24").Value = Me.Pos10
Worksheets("Deckblatt").Range("A25").Value = Me.Pos11
Worksheets("Deckblatt").Range("A26").Value = Me.Pos12
Worksheets("Deckblatt").Range("A27").Value = Me.Pos13
Worksheets("Deckblatt").Range("A28").Value = Me.Pos14
Worksheets("Deckblatt").Range("A29").Value = Me.Pos15

Worksheets("Deckblatt").Range("C15").Value = Me.Pruefung1
Worksheets("Deckblatt").Range("C16").Value = Me.Pruefung2
Worksheets("Deckblatt").Range("C17").Value = Me.Pruefung3
Worksheets("Deckblatt").Range("C18").Value = Me.Pruefung4
Worksheets("Deckblatt").Range("C19").Value = Me.Pruefung5
Worksheets("Deckblatt").Range("C20").Value = Me.Pruefung6
Worksheets("Deckblatt").Range("C21").Value = Me.Pruefung7
Worksheets("Deckblatt").Range("C22").Value = Me.Pruefung8
Worksheets("Deckblatt").Range("C23").Value = Me.Pruefung9
Worksheets("Deckblatt").Range("C24").Value = Me.Pruefung10
Worksheets("Deckblatt").Range("C25").Value = Me.Pruefung11
Worksheets("Deckblatt").Range("C26").Value = Me.Pruefung12
Worksheets("Deckblatt").Range("C27").Value = Me.Pruefung13
Worksheets("Deckblatt").Range("C28").Value = Me.Pruefung14
Worksheets("Deckblatt").Range("C29").Value = Me.Pruefung15

Worksheets("Deckblatt").Range("K15").Value = Me.Soll1
Worksheets("Deckblatt").Range("K16").Value = Me.Soll2
Worksheets("Deckblatt").Range("K17").Value = Me.Soll3
Worksheets("Deckblatt").Range("K18").Value = Me.Soll4
Worksheets("Deckblatt").Range("K19").Value = Me.Soll5
Worksheets("Deckblatt").Range("K20").Value = Me.Soll6
Worksheets("Deckblatt").Range("K21").Value = Me.Soll7
Worksheets("Deckblatt").Range("K22").Value = Me.Soll8
Worksheets("Deckblatt").Range("K23").Value = Me.Soll9
Worksheets("Deckblatt").Range("K24").Value = Me.Soll10
Worksheets("Deckblatt").Range("K25").Value = Me.Soll11
Worksheets("Deckblatt").Range("K26").Value = Me.Soll12
Worksheets("Deckblatt").Range("K27").Value = Me.Soll13
Worksheets("Deckblatt").Range("K28").Value = Me.Soll14
Worksheets("Deckblatt").Range("K29").Value = Me.Soll15

Worksheets("Deckblatt").Range("M15").Value = Me.Toleranz1
Worksheets("Deckblatt").Range("M16").Value = Me.Toleranz2
Worksheets("Deckblatt").Range("M17").Value = Me.Toleranz3
Worksheets("Deckblatt").Range("M18").Value = Me.Toleranz4
Worksheets("Deckblatt").Range("M19").Value = Me.Toleranz5
Worksheets("Deckblatt").Range("M20").Value = Me.Toleranz6
Worksheets("Deckblatt").Range("M21").Value = Me.Toleranz7
Worksheets("Deckblatt").Range("M22").Value = Me.Toleranz8
Worksheets("Deckblatt").Range("M23").Value = Me.Toleranz9
Worksheets("Deckblatt").Range("M24").Value = Me.Toleranz10
Worksheets("Deckblatt").Range("M25").Value = Me.Toleranz11
Worksheets("Deckblatt").Range("M26").Value = Me.Toleranz12
Worksheets("Deckblatt").Range("M27").Value = Me.Toleranz13
Worksheets("Deckblatt").Range("M28").Value = Me.Toleranz14
Worksheets("Deckblatt").Range("M29").Value = Me.Toleranz15

Worksheets("Deckblatt").Range("O15").Value = Me.KundenNorm1
Worksheets("Deckblatt").Range("O16").Value = Me.KundenNorm2
Worksheets("Deckblatt").Range("O17").Value = Me.KundenNorm3
Worksheets("Deckblatt").Range("O18").Value = Me.KundenNorm4
Worksheets("Deckblatt").Range("O19").Value = Me.KundenNorm5
Worksheets("Deckblatt").Range("O20").Value = Me.KundenNorm6
Worksheets("Deckblatt").Range("O21").Value = Me.KundenNorm7
Worksheets("Deckblatt").Range("O22").Value = Me.KundenNorm8
Worksheets("Deckblatt").Range("O23").Value = Me.KundenNorm9
Worksheets("Deckblatt").Range("O24").Value = Me.KundenNorm10
Worksheets("Deckblatt").Range("O25").Value = Me.KundenNorm11
Worksheets("Deckblatt").Range("O26").Value = Me.KundenNorm12
Worksheets("Deckblatt").Range("O27").Value = Me.KundenNorm13
Worksheets("Deckblatt").Range("O28").Value = Me.KundenNorm14
Worksheets("Deckblatt").Range("O29").Value = Me.KundenNorm15

Worksheets("Deckblatt").Range("V15").Value = Me.DurchF1
Worksheets("Deckblatt").Range("V16").Value = Me.DurchF2
Worksheets("Deckblatt").Range("V17").Value = Me.DurchF3
Worksheets("Deckblatt").Range("V18").Value = Me.DurchF4
Worksheets("Deckblatt").Range("V19").Value = Me.DurchF5
Worksheets("Deckblatt").Range("V20").Value = Me.DurchF6
Worksheets("Deckblatt").Range("V21").Value = Me.DurchF7
Worksheets("Deckblatt").Range("V22").Value = Me.DurchF8
Worksheets("Deckblatt").Range("V23").Value = Me.DurchF9
Worksheets("Deckblatt").Range("V24").Value = Me.DurchF10
Worksheets("Deckblatt").Range("V25").Value = Me.DurchF11
Worksheets("Deckblatt").Range("V26").Value = Me.DurchF12
Worksheets("Deckblatt").Range("V27").Value = Me.DurchF13
Worksheets("Deckblatt").Range("V28").Value = Me.DurchF14
Worksheets("Deckblatt").Range("V29").Value = Me.DurchF15

Worksheets("Deckblatt").Range("AB15").Value = Me.Bemerk1
Worksheets("Deckblatt").Range("AB16").Value = Me.Bemerk2
Worksheets("Deckblatt").Range("AB17").Value = Me.Bemerk3
Worksheets("Deckblatt").Range("AB18").Value = Me.Bemerk4
Worksheets("Deckblatt").Range("AB19").Value = Me.Bemerk5
Worksheets("Deckblatt").Range("AB20").Value = Me.Bemerk6
Worksheets("Deckblatt").Range("AB21").Value = Me.Bemerk7
Worksheets("Deckblatt").Range("AB22").Value = Me.Bemerk8
Worksheets("Deckblatt").Range("AB23").Value = Me.Bemerk9
Worksheets("Deckblatt").Range("AB24").Value = Me.Bemerk10
Worksheets("Deckblatt").Range("AB25").Value = Me.Bemerk11
Worksheets("Deckblatt").Range("AB26").Value = Me.Bemerk12
Worksheets("Deckblatt").Range("AB27").Value = Me.Bemerk13
Worksheets("Deckblatt").Range("AB28").Value = Me.Bemerk14
Worksheets("Deckblatt").Range("AB29").Value = Me.Bemerk15

Worksheets("Deckblatt").Range("D32").Value = Me.BearbeiterA
Worksheets("Deckblatt").Range("D33").Value = Me.BearbeiterL
'Worksheets("Deckblatt").Range("K32").Value = Me.UnterschriftA
'Worksheets("Deckblatt").Range("K33").Value = Me.UnterschriftL
Worksheets("Deckblatt").Range("P32").Value = Me.DatumA
Worksheets("Deckblatt").Range("P33").Value = Me.DatumL
Worksheets("Deckblatt").Range("T32").Value = Me.TerminA
Worksheets("Deckblatt").Range("T33").Value = Me.TerminL
Worksheets("Deckblatt").Range("X32").Value = Me.TerminabA
Worksheets("Deckblatt").Range("X33").Value = Me.TerminabL
Worksheets("Deckblatt").Range("AB32").Value = Me.ZeitbedarfA
Worksheets("Deckblatt").Range("AB33").Value = Me.ZeitbedarfL
Worksheets("Deckblatt").Range("AE32").Value = Me.AenderngA
Worksheets("Deckblatt").Range("AE33").Value = Me.AenderngL
Worksheets("Deckblatt").Range("D35").Value = Me.Verteiler1
'Worksheets("Deckblatt").Range("A15").Value = Me.
End If


'Übernahme der Checkboxauswahl in das Deckblatt

If WE Then
Worksheets("Deckblatt").Range("AD3") = "X"
Else
Worksheets("Deckblatt").Range("AD3") = ""
End If

If FertigT Then
Worksheets("Deckblatt").Range("AD4") = "X"
Else
Worksheets("Deckblatt").Range("AD4") = ""
End If

If ProduktA Then
Worksheets("Deckblatt").Range("AD5") = "X"
Else
Worksheets("Deckblatt").Range("AD5") = ""
End If

If Sonst Then
Worksheets("Deckblatt").Range("AD6") = "X"
Else
Worksheets("Deckblatt").Range("AD6") = ""
End If

If Bemuster Then
Worksheets("Deckblatt").Range("AI3") = "X"
Else
Worksheets("Deckblatt").Range("AI3") = ""
End If

If ProzessP Then
Worksheets("Deckblatt").Range("AI4") = "X"
Else
Worksheets("Deckblatt").Range("AI4") = ""
End If

If Rekla Then
Worksheets("Deckblatt").Range("AI5") = "X"
Else
Worksheets("Deckblatt").Range("AI5") = ""
End If

 'Abfrage welche Checkbox ausgewählt ist und Kopie in die Uebersicht
 
If WE.Value = True Then
Ws.Cells(StartZeile, 12).Value = "Wareneingangsprüfung"
End If
If FertigT.Value = True Then
Ws.Cells(StartZeile, 12).Value = "Fertigteilprüfung"
End If
If ProduktA.Value = True Then
Ws.Cells(StartZeile, 12).Value = "Produktaudit"
End If
If Bemuster.Value = True Then
Ws.Cells(StartZeile, 12).Value = "Bemusterung"
End If
If ProzessP.Value = True Then
Ws.Cells(StartZeile, 12).Value = "Prozessprüfung"
End If
If Rekla.Value = True Then
Ws.Cells(StartZeile, 12).Value = "Reklamation"
End If
If Sonst.Value = True Then
Ws.Cells(StartZeile, 12).Value = "Sonstiges"
End If
If Intern.Value = True Then
Ws.Cells(StartZeile, 27).Value = "Intern"
End If
If Extern.Value = True Then
Ws.Cells(StartZeile, 27).Value = "Extern"
End If

Ws.Protect Password:="Labor18", AllowFiltering:=True 'Blattschutz setzten
'Ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True ' ab  _
Excel 2003

'Subject As String, Attachment As String, Recipient As String, BodyText As String, SaveIt As  _
Boolean)

Application.DisplayAlerts = False    'Objekte festlegen die wir brauchen werden

    
    'Email mit outlook versenden
    Dim objOutlook As Object
    Dim objMail As Object

    Set objOutlook = CreateObject("Outlook.Application")
    Set objMail = objOutlook.CreateItem(0)

    With objMail
        .To = "vtyralla@borgers-group.com; nbiberacher@borgers-group.com"
        .CC = "mzimmermann@borgers-group.com; mreiser@borgers-group.com"
        .Subject = "Es wurde eine neuer Prüfauftrag angelegt mit der Nr." & Pruefnr.Text
        .Body = ("Der Prüfauftrag wurde angelegt von  " & BearbeiterA.Text) & vbCrLf & _
        ("Kunde: " & Kunde1.Text) & vbCrLf & _
        ("Artikel: " & KundenArtikel1.Text) & ("PPS Borgers:" & PPSNR1.Text) & vbCrLf & _
        ("Termin: " & TerminA.Text) & vbCrLf & _
        ("Pos.1: " & Pruefung1.Text) & vbCrLf & _
        ("Pos.2: " & Pruefung2.Text) & vbCrLf & _
        ("Pos.3: " & Pruefung3.Text) & vbCrLf & _
        ("Pos.4: " & Pruefung4.Text) & vbCrLf & _
        ("Pos.5: " & Pruefung5.Text) & vbCrLf & _
        ("Pos.6: " & Pruefung6.Text) & vbCrLf & _
        ("Pos.7: " & Pruefung7.Text) & vbCrLf & _
        ("Pos.8: " & Pruefung8.Text) & vbCrLf & _
        ("Pos.9: " & Pruefung9.Text) & vbCrLf & _
        ("Pos.10: " & Pruefung10.Text) & vbCrLf & _
        ("Pos.11: " & Pruefung11.Text) & vbCrLf & _
        ("Pos.12: " & Pruefung12.Text) & vbCrLf & _
        ("Pos.13: " & Pruefung13.Text) & vbCrLf & _
        ("Pos.14: " & Pruefung14.Text) & vbCrLf & _
        ("Pos.15: " & Pruefung15.Text)
        .Send        'Sendet die Email automatisch
        
  
    
    End With
    
    Drucken.Visible = True
 'ActiveWorkbook.Save
End Sub

Betrifft: AW: Laufzeitfehler 9 mal wieder Sry
von: Daniel
Geschrieben am: 17.09.2020 15:18:13

Hi
jetzt wäre es natürlich Hilfreich, wenn du uns mitteilen würdest, an welcher Stelle der Fehler auftritt.

Laufzeitfehler 9 tritt beispielsweise dann auf, wenn du versuchst, auf einen nicht vorhandenen Einzelwert eines Arrays zuzugreifen, bspw das Array X ist im Bereich 1-9 dimensioniert und du versuchst auf den Index 10 zuzugreifen, dann bekommst du Laufzeitfehler 9:
Dim X(1 to 9)
X(10) = "Hallo Welt"
oder er tritt dann auf, wenn du als Index einen Text verwendest, den VBA nicht in eine Zahl wandeln kann.

Da VBA die geöffneten Mappen und die Worksheets einer Mappe auch in einem Array verwaltet, bekommst du diesen Fehler auch dann, wenn du versuchst mit Workbooks(…) oder Worksheets(…) eine nicht vorhandene Mappe oder ein nicht vorhandenes Tabellenblatt anzusprechen.
Meistens ist das die Folge eines Tippfehlers oder wenn man mit mehreren Mappen hantiert und dabei unvollständig referenziert (ohne Mappenangabe) und die falsche Mappe die aktive Mappe ist.

Gruß Daniel



Gruß Daniel

Betrifft: AW: Laufzeitfehler 9 mal wieder Sry
von: Werner
Geschrieben am: 17.09.2020 15:43:56

Hallo,

unabhängig von deinem Problem - siehe hierzu die Antwort von Daniel - ließe sich in deinem Code noch so einiges einkürzen.

Dieser Codeabschnitt z.B.:
Worksheets("Deckblatt").Range("A15").Value = Me.Pos1
 Worksheets("Deckblatt").Range("A16").Value = Me.Pos2
 Worksheets("Deckblatt").Range("A17").Value = Me.Pos3
 Worksheets("Deckblatt").Range("A18").Value = Me.Pos4
 Worksheets("Deckblatt").Range("A19").Value = Me.Pos5
 Worksheets("Deckblatt").Range("A20").Value = Me.Pos6
 Worksheets("Deckblatt").Range("A21").Value = Me.Pos7
 Worksheets("Deckblatt").Range("A22").Value = Me.Pos8
 Worksheets("Deckblatt").Range("A23").Value = Me.Pos9
 Worksheets("Deckblatt").Range("A24").Value = Me.Pos10
 Worksheets("Deckblatt").Range("A25").Value = Me.Pos11
 Worksheets("Deckblatt").Range("A26").Value = Me.Pos12
 Worksheets("Deckblatt").Range("A27").Value = Me.Pos13
 Worksheets("Deckblatt").Range("A28").Value = Me.Pos14
 Worksheets("Deckblatt").Range("A29").Value = Me.Pos15
ließe sich auf das hier reduzieren:
With Worksheets("Deckblatt")
    For i = 1 To 15
        .Range("A" & i + 14) = Me.Controls("Pos" & i)
    Next i
End With
Gruß Werner

Betrifft: AW: Laufzeitfehler 9 mal wieder Sry
von: Martin
Geschrieben am: 17.09.2020 19:06:36

Hi Werner,

Ich danke dir trotzdem für den Tipp.
Werde es bei nächster Gelegenheit umstellen.

Beiträge aus dem Excel-Forum zum Thema "Laufzeitfehler 9 mal wieder Sry"