Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1236to1240
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

Umstellung 2003 nach 2010

Umstellung 2003 nach 2010
Peter
Hallo Excel-Experten,
ich versuche gerade meine ersten Schritte von Excel 2003 auf Excel 2010 und falle bei einer simplen Addition auf die Nase.
Excel 2010 sagt mir Laufzeitfehler 16 - Ausdruck zu komplex
und zwas hier
Public Sub Pressminuten_pruefen()
Dim lZeile     As Long    ' For/Next Schleifen-Index - hier die fortlaufende Zeile
Dim dDatum     As Date    ' der Gruppenbegriff Datum
Dim sSchicht   As String  ' der Gruppenbegriff Schicht
Dim dPressMin  As Double  ' die addierten Pressminuten der jeweiligen Schicht
Dim vTemp()    As Variant ' temporärer Array zur Aufnahme der zu großen Schichten
Dim iTemp      As Integer ' Index zum temporären Array
Dim lZ_Strt    As Long    ' die Start-Zeile eines Pressdatums mit seiner Schicht
Dim lZ_Ende    As Long    ' die Ende-Zeile eines Pressdatums mit seiner Schicht
Dim lFarbe     As Long    ' For/Next Schleifen-Index zum Färben von Spalte A
 
   dMaxPrZeit = CDbl(ThisWorkbook.Worksheets("Daten").Range("V5").Value)
   dGrzPrZeit = CDbl(ThisWorkbook.Worksheets("Daten").Range("V3").Value)
   
   Application.ScreenUpdating = False
   With ThisWorkbook.Worksheets("Pressplan")
      .Unprotect Password:=Parole
      For lZeile = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
         If lZeile = 2 Then
            dDatum = CDate(.Range("A" & lZeile).Value)
            sSchicht = .Range("B" & lZeile).Value
            lZ_Strt = 2
         End If
         If CDate(.Range("A" & lZeile).Value) = dDatum And _
            .Range("B" & lZeile).Value = sSchicht Then
            If Trim$(.Range("Q" & lZeile).Value) <> "" Then
               dPressMin = dPressMin + CDbl(.Range("Q" & lZeile).Value)
            End If
          Else
            lZ_Ende = lZeile - 1
            GoSub Pressdatum_faerben
Bei der Befehlszeile dPressMin = dPressMin + CDbl(.Range("Q" & lZeile).Value)
Wenn ich mir CDbl(.Range("Q" & lZeile).Value) im Debugger ansehe ist hier z. B. 444,6 enthalten, während dPressMin mit -1,#IND angezeigt wird.
Was muss hier ggf. angepasst werden?
Gruß Peter

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

Betreff
Benutzer
Anzeige
Gleitkommaüberlauf -1,#IND
21.11.2011 13:37:22
Erich
Hi Peter,
wie dieser Wert -1,#IND entsteht, weiß ich auch nicht.
Das soll ein Gleitkommaüberlauf sein, kann in diesem Fall aber eigentlich nicht sein.
(Ich hab mal nach dem Wert gegoogelt.)
Abhilfe könne schaffen:
dPressMin = dPressMin + .Range("Q" & lZeile).Value
statt
dPressMin = dPressMin + CDbl(.Range("Q" & lZeile).Value)
Also einfach das CDbl() weglassen. Dann läuft es bei mir durch - warum auch immer.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Gleitkommaüberlauf -1,#IND
21.11.2011 14:23:17
Peter
Hallo Erich,
ja, ohne die Formatierung der Zelle läuft das Makro durch - es kommt jedenfalls keine Fehlermeldung mehr.
Aber, das es sich hier um eine ziemlich große Anwendung handelt, werden derartige Formatierungen sicherlich häufiger vorkommen und müssten alle mühsam beseitigt werden. Das kann doch keine Lösung sein sondern sieht für mich eher nach Microsoft Fehler aus.
Ich werde mich hier also langsam weiter vortasten und bin gespannt, was mir sonst noch an Kuriositäten begegnet.
Danke für Deine Hilfe.
Gruß Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige