Thema Datum  Von Nutzer Rating
Antwort
Rot Methode NumberFormat für das Objekt Range ist fehlgeschlagen
12.08.2020 15:41:51 Stefan
Solved
12.08.2020 16:09:39 Werner
Solved
12.08.2020 16:27:30 Stefan
Solved

Ansicht des Beitrags:
Von:
Stefan
Datum:
12.08.2020 15:41:51
Views:
1170
Rating: Antwort:
 Nein
Thema:
Methode NumberFormat für das Objekt Range ist fehlgeschlagen
Hallo liebe Community Ich hoffe ihr könnt mir weiterhelfen. Zuerst, ich hab keine Ahnung von VBA und Makros. Ich hab mir den Code für mein Excel-Programm aus diversen Codes aus dem Internet zusammengebastelt und zu meinem Glück hat es bis jetzt funktioniert und zwar auch so wie ich es wollte. Jetzt jedoch, steh ich vor einem Problem aus dem ich nicht mehr rauskomme -> kein Wunder war nur mehr eine Frage der Zeit, wenn ich keine Ahnung von der Materie habe *g* Einführung: Ich habe einen Überstundenrechner gestaltet. Bei diesem Rechner trage ich in einer Spalte die Startzeit ein und bei der Nächsten die Endzeit. (Grob gesagt). Über Makros hab ich mir die Möglichkeit geschaffen, die Zeiten nicht immer mit Doppelpunkt eingeben zu müssen. Ich schreib daher die zahl 1000 und es kommt dann 10:00 raus. Das funktioniert auch alles noch einwandfrei. Ich konnte mit dem "Alten Code" auch 0000 eingeben und er gibt mir 00:00 aus. Beim "Neuen Code" jedoch, haut es mir den im Betreff genannten Fehler raus, wenn ich 0000 eingebe. 0001 und aufwärts geht ohne Probleme nur bei 0000 gibt's den Fehler. Das is der "Neue Code" Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim RaBereich1 As Range, RaBereich2 As Range, RaZelle As Range, Bereich As Range Dim InS As Integer Dim InM As Integer ' Bereich der Wirksamkeit Set RaBereich1 = Range("E4:F4 , J4:M4 , E8:F22 , J8:M22 , E31:F45 , J31:M45 , E54:F68 , J54:M68 , E77:F91 , J77:M91 , E100:F114 , J100:M114 , E123:F137 , J123:M137") Set RaBereich2 = Range("E146:F160 , J146:M160 , E169:F183 , J169:M183 , E192:F206 , J192:M206 , E215:F229 , J215:M229 , E238:F252 , J238:M252 , E261:F275 , J261:M275") Set Bereich = Union(RaBereich1, RaBereich2) For Each RaZelle In Range(Target.Address) If Not Intersect(RaZelle, Bereich) Is Nothing Then With RaZelle If .Value <> "" Then If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _ InStr(.Value, ",") = 0 Then .NumberFormat = "[hh]:mm" If Len(Target.Value) > 2 Then InS = Left(.Value, Len(.Value) - 2) InM = Right(.Value, 2) Else ' Stunden haben das Primat ' InS = .Value ' InM = 0 ' Minuten haben das Primat InS = 0 InM = .Value End If .Value = InS & ":" & InM End If End If End With End If Next RaZelle End Sub Den Fehler zeigt er mir in der Zeile " .NumberFormat = "[hh]:mm"" an. Der "Alte Code" zum Vergleich Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim RaBereich As Range, RaZelle As Range Dim InS As Integer Dim InM As Integer ' Bereich der Wirksamkeit Set RaBereich = Range("E4:F275 , J4:M275") For Each RaZelle In Range(Target.Address) If Not Intersect(RaZelle, RaBereich) Is Nothing Then With RaZelle If .Value <> "" Then If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _ InStr(.Value, ",") = 0 Then .NumberFormat = "[hh]:mm" If Len(Target.Value) > 2 Then InS = Left(.Value, Len(.Value) - 2) InM = Right(.Value, 2) Else ' Stunden haben das Primat ' InS = .Value ' InM = 0 ' Minuten haben das Primat InS = 0 InM = .Value End If .Value = InS & ":" & InM End If End If End With End If Next RaZelle End Sub Es hat sich zwischen den Zwein einfach nur die Erweiterung der Bereiche geändert. Wie gesagt, die Bereich werden alle erkannt und die Makros arbeiten auch bei allen Eingaben wie 1200 usw, außer eben wenn ich 0000 eingebe. Dann gibt's den Fehler. Ich hoff es kann mir Jemand weiterhelfen. Vielen Dank schonmal im Voraus lg Stefan

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Methode NumberFormat für das Objekt Range ist fehlgeschlagen
12.08.2020 15:41:51 Stefan
Solved
12.08.2020 16:09:39 Werner
Solved
12.08.2020 16:27:30 Stefan
Solved