Microsoft Excel

Herbers Excel/VBA-Archiv

Laufzeitfehler aufgrund #DIV/0 bzw #WERT | Herbers Excel-Forum


Betrifft: Laufzeitfehler aufgrund #DIV/0 bzw #WERT von: Gegga
Geschrieben am: 27.01.2010 13:17:13

Hallo zusammen

Bekomme beim einlesen von Werten aus einem Excelsheet in eine UF folgenden Laufzeitfehler.

-214735271 (8002005)
Eigenschaft Value konnte nicht gesetzt werden. Typenkonflikt

Habe durch F8 drücken geschaut wo er aussteigt. Dies geschieht immer an Zellen in denen der Wert enteder #DIV/0 oder #WERT enthalten ist.

Sorge ich dafür das dies verschwindet, kommt dieser Laufzeitfehler nicht.

Ist es möglich per VBA diesen Fehler zu umgehen? Aufgrund der Grösse und des Umfangs der Liste wäre es sehr Zeitraubend in jedes berechnungsfeld =WENN(ISTFEHLER... einzubauen da mit festen Zellbezügen gearbeitet wird und deshalb "Formel Anklicken, nach unten ziehen" nicht funktioniert.

Wer kann mir da auf die schnelle und unkompliziert helfen?

Vielen Dank!!!
Gruss Gegga

  

Betrifft: If Not IsError(Cells(lngZeile, lngSpalte)) Then von: NoNet
Geschrieben am: 27.01.2010 13:22:17

Hall Gegga,

verwende z.B. anstatt diese Version :

Msgbox Cells(lngZeile,lngSpalte)

die fehlerüberpüfte Version :

If Not IsError(Cells(lngZeile, lngSpalte)) Then
    Msgbox Cells(lngZeile,lngSpalte)
End If


Gruß, NoNet


  

Betrifft: AW: If Not IsError(Cells(lngZeile, lngSpalte)) Then von: Hajo_Zi
Geschrieben am: 27.01.2010 13:28:09

Hallo NoNet,

warum markierst Du den Beitrag als offen?
Du hast doch eine Lösung vorgeschlagen, lasse doch den Fragesteller die Frage als offen kennzeichnen.
Man kann in diesem Forum offnen Beiträge nur rausnehmen durch einen neuen Beitrag, früher ging das einfacher.

GrußformelHomepage


  

Betrifft: AW: If Not IsError(Cells(lngZeile, lngSpalte)) Then von: Gegga
Geschrieben am: 27.01.2010 13:34:18

Wennich dich also richtig verstanden habe (ich füge mal den kompletten Initialize Vorgang ein:

Private Sub UserForm_Initialize()
Dim lngCurRow&, I&
     Dim wks As Worksheet
          Set wks = Sheets("Startsheet")
     lngCurRow = wks.Range("A7:A" & Rows.Count).SpecialCells(12).Row
     
        With UF_SAETZE_BEARBEITEN
           
            .TB_TEILEFAMILIE = wks.Cells(lngCurRow, 2)
            .TB_PPSNUMMER = wks.Cells(lngCurRow, 3)
            .TB_TEILENUMMER_KUNDE = wks.Cells(lngCurRow, 4)
            .TB_BEZEICHNUNG = wks.Cells(lngCurRow, 5)
            .CBO_KUNDE = wks.Cells(lngCurRow, 6)
            .CBO_BRANCHE = wks.Cells(lngCurRow, 7)
            .TB_ARTIKELCODE = wks.Cells(lngCurRow, 8)
            .TB_JAHRESTEILER = wks.Cells(lngCurRow, 9)
            .TB_ANZAHL_RESTMONATE = wks.Cells(lngCurRow, 10)
            .TB_ANZAHL_FERTIGUNGSLOSE = wks.Cells(lngCurRow, 11)
            .TB_PLANUNGSGRUNDLAGE = wks.Cells(lngCurRow, 12)
            .TB_MIN = wks.Cells(lngCurRow, 13)
            .TB_MAX = wks.Cells(lngCurRow, 14)
            .TB_EINGABEDATUM_STÜCKZAHLEN = wks.Cells(lngCurRow, 15).Text
            .TB_SICHERHEIT = wks.Cells(lngCurRow, 16)
            .TB_INTERN_GEPLANTE_MENGE = wks.Cells(lngCurRow, 17)
            .TB_AUFTEILUNGSFAKTOR_MASCHINE = wks.Cells(lngCurRow, 18)
            .TB_AUFTEILUNG = wks.Cells(lngCurRow, 20)
            .TB_LOSGRÖSSE = wks.Cells(lngCurRow, 21)
            
            .TB_1_MACHINE = wks.Cells(lngCurRow, 22)
            .TB_1_TE = wks.Cells(lngCurRow, 23)
            .TB_1_TR_ATR = wks.Cells(lngCurRow, 24)
            .TB_1_H_LOS = wks.Cells(lngCurRow, 25)
            .TB_1_H_MONAT = wks.Cells(lngCurRow, 26)
            
            .TB_2_MACHINE = wks.Cells(lngCurRow, 27)
            .TB_2_TE = wks.Cells(lngCurRow, 28)
            .TB_2_TR_ATR = wks.Cells(lngCurRow, 29)
            .TB_2_H_LOS = wks.Cells(lngCurRow, 30)
            .TB_2_H_MONAT = wks.Cells(lngCurRow, 31)
            
            .TB_3_MACHINE = wks.Cells(lngCurRow, 32)
            .TB_3_TE = wks.Cells(lngCurRow, 33)
            .TB_3_TR_ATR = wks.Cells(lngCurRow, 34)
            .TB_3_H_LOS = wks.Cells(lngCurRow, 35)
            .TB_3_H_MONAT = wks.Cells(lngCurRow, 36)
            
            .TB_ZUSATZPROZESSE_ARBEITSPLATZ = wks.Cells(lngCurRow, 37)
            .TB_ZUSATZPROZESSE_TE = wks.Cells(lngCurRow, 38)
            .TB_ZUSATZPROZESSE_TR_ATR = wks.Cells(lngCurRow, 39)
            .TB_ZUSATZPROZESSE_H_LOS = wks.Cells(lngCurRow, 40)
            .TB_ZUSATZPROZESSE_H_MONAT = wks.Cells(lngCurRow, 41)
            
            .TB_GESAMT_H_MONAT = wks.Cells(lngCurRow, 43)
            
            
            
            .TB_MONAT01 = wks.Cells(lngCurRow, 47)
            .TB_PREIS01 = wks.Cells(lngCurRow, 48)
            .TB_SUMME01 = wks.Cells(lngCurRow, 49)
            
            .TB_MONAT02 = wks.Cells(lngCurRow, 50)
            .TB_PREIS02 = wks.Cells(lngCurRow, 51)
            .TB_SUMME02 = wks.Cells(lngCurRow, 52)
                        
            .TB_MONAT03 = wks.Cells(lngCurRow, 53)
            .TB_PREIS03 = wks.Cells(lngCurRow, 54)
            .TB_SUMME03 = wks.Cells(lngCurRow, 55)
                        
            .TB_MONAT04 = wks.Cells(lngCurRow, 56)
            .TB_PREIS04 = wks.Cells(lngCurRow, 57)
            .TB_SUMME04 = wks.Cells(lngCurRow, 58)
                        
            .TB_MONAT05 = wks.Cells(lngCurRow, 59)
            .TB_PREIS05 = wks.Cells(lngCurRow, 60)
            .TB_SUMME05 = wks.Cells(lngCurRow, 61)
            
            .TB_MONAT06 = wks.Cells(lngCurRow, 62)
            .TB_PREIS06 = wks.Cells(lngCurRow, 63)
            .TB_SUMME06 = wks.Cells(lngCurRow, 64)
                        
            .TB_MONAT07 = wks.Cells(lngCurRow, 65)
            .TB_PREIS07 = wks.Cells(lngCurRow, 66)
            .TB_SUMME07 = wks.Cells(lngCurRow, 67)
                        
            .TB_MONAT08 = wks.Cells(lngCurRow, 68)
            .TB_PREIS08 = wks.Cells(lngCurRow, 69)
            .TB_SUMME08 = wks.Cells(lngCurRow, 70)
                        
            .TB_MONAT09 = wks.Cells(lngCurRow, 71)
            .TB_PREIS09 = wks.Cells(lngCurRow, 72)
            .TB_SUMME09 = wks.Cells(lngCurRow, 73)
                        
            .TB_MONAT10 = wks.Cells(lngCurRow, 74)
            .TB_PREIS10 = wks.Cells(lngCurRow, 75)
            .TB_SUMME10 = wks.Cells(lngCurRow, 76)
                        
            .TB_MONAT11 = wks.Cells(lngCurRow, 77)
            .TB_PREIS11 = wks.Cells(lngCurRow, 78)
            .TB_SUMME11 = wks.Cells(lngCurRow, 79)
                        
            .TB_MONAT12 = wks.Cells(lngCurRow, 80)
            .TB_PREIS12 = wks.Cells(lngCurRow, 81)
            .TB_SUMME12 = wks.Cells(lngCurRow, 82)
            
            .TB_ROHMATERIALPREIS = wks.Cells(lngCurRow, 84)
            .TB_ROHMATERIALPREIS_DATUM = wks.Cells(lngCurRow, 85)
            .TB_ROHMATERIALEINSATZ = wks.Cells(lngCurRow, 86)

            .TB_AFTG_AG_01 = wks.Cells(lngCurRow, 87)
            .TB_AFTG_AG_01_DATUM = wks.Cells(lngCurRow, 88)
            .TB_AFTG_AG_1_EINSATZ = wks.Cells(lngCurRow, 89)
            
            .TB_AFTG_AG_02 = wks.Cells(lngCurRow, 90)
            .TB_AFTG_AG_02_DATUM = wks.Cells(lngCurRow, 91)
            .TB_AFTG_AG_2_EINSATZ = wks.Cells(lngCurRow, 92)
            
            .TB_AFTG_AG_03 = wks.Cells(lngCurRow, 93)
            .TB_AFTG_AG_03_DATUM = wks.Cells(lngCurRow, 94)
            .TB_AFTG_AG_3_EINSATZ = wks.Cells(lngCurRow, 94)
            
            .TB_VERKAUFSPREIS = wks.Cells(lngCurRow, 96)
            .TB_VERKAUSPREIS_DATUM = wks.Cells(lngCurRow, 97)
            .TB_UMSATZ = wks.Cells(lngCurRow, 98)
            

            TB_LOSGRÖSSE.Text = Format(TB_LOSGRÖSSE.Text, "#0")
            TB_1_H_LOS.Text = Format(TB_1_H_LOS.Text, "#,##0.00 ")
            TB_2_H_LOS.Text = Format(TB_2_H_LOS.Text, "#,##0.00 ")
            TB_3_H_LOS.Text = Format(TB_3_H_LOS.Text, "#,##0.00 ")
            TB_ZUSATZPROZESSE_H_LOS.Text = Format(TB_ZUSATZPROZESSE_H_LOS.Text, "#,##0.00 ")
            
            TB_1_H_MONAT.Text = Format(TB_1_H_MONAT.Text, "#,##0.00 ")
            TB_2_H_MONAT.Text = Format(TB_2_H_MONAT.Text, "#,##0.00 ")
            TB_3_H_MONAT.Text = Format(TB_3_H_MONAT.Text, "#,##0.00 ")
            TB_ZUSATZPROZESSE_H_MONAT.Text = Format(TB_ZUSATZPROZESSE_H_MONAT.Text, "#,##0.00 ") _

            
            TB_GESAMT_H_MONAT.Text = Format(TB_GESAMT_H_MONAT.Text, "#,##0.00 ")
                   
            TB_PREIS01.Text = Format(TB_PREIS01.Text, "#,##0.00 €")
            TB_SUMME01.Text = Format(TB_SUMME01.Text, "#,##0.00 €")
            
            TB_PREIS02.Text = Format(TB_PREIS02.Text, "#,##0.00 €")
            TB_SUMME02.Text = Format(TB_SUMME02.Text, "#,##0.00 €")
            
            TB_PREIS03.Text = Format(TB_PREIS03.Text, "#,##0.00 €")
            TB_SUMME03.Text = Format(TB_SUMME03.Text, "#,##0.00 €")
            
            TB_PREIS04.Text = Format(TB_PREIS04.Text, "#,##0.00 €")
            TB_SUMME04.Text = Format(TB_SUMME04.Text, "#,##0.00 €")
            
            TB_PREIS05.Text = Format(TB_PREIS05.Text, "#,##0.00 €")
            TB_SUMME05.Text = Format(TB_SUMME05.Text, "#,##0.00 €")
            
            TB_PREIS06.Text = Format(TB_PREIS06.Text, "#,##0.00 €")
            TB_SUMME06.Text = Format(TB_SUMME06.Text, "#,##0.00 €")
            
            TB_PREIS07.Text = Format(TB_PREIS07.Text, "#,##0.00 €")
            TB_SUMME07.Text = Format(TB_SUMME07.Text, "#,##0.00 €")
            
            TB_PREIS08.Text = Format(TB_PREIS08.Text, "#,##0.00 €")
            TB_SUMME08.Text = Format(TB_SUMME08.Text, "#,##0.00 €")
            
            TB_PREIS09.Text = Format(TB_PREIS09.Text, "#,##0.00 €")
            TB_SUMME09.Text = Format(TB_SUMME09.Text, "#,##0.00 €")
            
            TB_PREIS10.Text = Format(TB_PREIS10.Text, "#,##0.00 €")
            TB_SUMME10.Text = Format(TB_SUMME10.Text, "#,##0.00 €")
            
            TB_PREIS11.Text = Format(TB_PREIS11.Text, "#,##0.00 €")
            TB_SUMME11.Text = Format(TB_SUMME11.Text, "#,##0.00 €")
            
            TB_PREIS12.Text = Format(TB_PREIS12.Text, "#,##0.00 €")
            TB_SUMME12.Text = Format(TB_SUMME12.Text, "#,##0.00 €")
            
            TB_ROHMATERIALPREIS.Text = Format(TB_ROHMATERIALPREIS.Text, "#,##0.00 €")
            TB_ROHMATERIALEINSATZ.Text = Format(TB_ROHMATERIALEINSATZ.Text, "#,##0.00 €")
           
            TB_AFTG_AG_01.Text = Format(TB_AFTG_AG_01.Text, "#,##0.00 €")
            TB_AFTG_AG_1_EINSATZ.Text = Format(TB_AFTG_AG_1_EINSATZ.Text, "#,##0.00 €")
            
            TB_AFTG_AG_02.Text = Format(TB_AFTG_AG_01.Text, "#,##0.00 €")
            TB_AFTG_AG_2_EINSATZ.Text = Format(TB_AFTG_AG_2_EINSATZ.Text, "#,##0.00 €")
            
            TB_AFTG_AG_03.Text = Format(TB_AFTG_AG_01.Text, "#,##0.00 €")
            TB_AFTG_AG_3_EINSATZ.Text = Format(TB_AFTG_AG_3_EINSATZ.Text, "#,##0.00 €")
            
            TB_VERKAUFSPREIS.Text = Format(TB_VERKAUFSPREIS.Text, "#,##0.00 €")
            TB_UMSATZ.Text = Format(TB_UMSATZ.Text, "#,##0.00 €")
            
            
            
            
        End With
        
            If wks.Cells(lngCurRow, 45) = "X" Then
            UF_SAETZE_BEARBEITEN.OP_WZ_EINGES_JA.Value = True
            If wks.Cells(lngCurRow, 46) = "X" Then
            UF_SAETZE_BEARBEITEN.OP_WZ_MASCH_JA.Value = True
            If wks.Cells(lngCurRow, 1) = "X" Then
            UF_SAETZE_BEARBEITEN.OB_AKTIV.Value = True
            
            
            End If
            End If
            End If
End Sub

müsste das so aussehen:


If Not IsError(wks.Cells(lngCurRow, 2)) Then
.TB_TEILEFAMILIE = wks.Cells(lngCurRow, 2)
End If


Weia dann habe ich was zu tun...

jetzt kann ich es mir aussuchen ob ich die =WENN(ISTFEHLER...) Variante nehme oder deine NoNet...
Zeitraubend werden beide sein ;)

Oder gibts vllt doch noch ne Abkürzung? *hoff*

Trotzdem Danke für die Hilfe.

Greetz Gegga


  

Betrifft: Dann lieber : On Error Resume Next von: NoNet
Geschrieben am: 27.01.2010 13:44:49

Hallo Gegga,

bei dieser Anzahl an Textfeldern empfehle ich Dir den Einsatz von "On Error...." :

On Error Resume Next 'Fehler ignorieren
With UF_SAETZE_BEARBEITEN
'...
End With
On Error goto 0 'Fehlerbehandlung wieder aktivieren


Gruß, NoNet


Beiträge aus den Excel-Beispielen zum Thema "Laufzeitfehler aufgrund #DIV/0 bzw #WERT"