Thema Datum  Von Nutzer Rating
Antwort
20.01.2015 12:33:24 Sandra
Solved
22.01.2015 19:06:45 MarkusK
NotSolved
23.01.2015 12:56:01 Sandra
NotSolved
23.01.2015 13:01:26 Sandra
NotSolved
23.01.2015 22:10:48 MarkusK
NotSolved
24.01.2015 21:23:13 Gast97356
NotSolved
24.01.2015 21:24:23 Sandra
NotSolved
24.01.2015 23:40:40 Gast79050
NotSolved
25.01.2015 09:42:11 Sandra
NotSolved
25.01.2015 11:47:03 Gast28280
NotSolved
25.01.2015 11:47:47 Sandra
NotSolved
25.01.2015 11:56:21 Sandra
NotSolved
25.01.2015 19:25:47 MarkusK
Solved
25.01.2015 21:02:53 Sandra
NotSolved
25.01.2015 21:26:31 Sandra
NotSolved
25.01.2015 21:41:58 MarkusK
NotSolved
23.01.2015 05:56:13 Gast27120
NotSolved
26.01.2015 08:39:25 Sandra
NotSolved
26.01.2015 10:06:26 Sandra
NotSolved
26.01.2015 11:12:03 Sandra
NotSolved
26.01.2015 11:37:38 Gast63110
NotSolved
26.01.2015 11:51:29 Sandra
NotSolved
26.01.2015 19:15:21 MarkuK
NotSolved
26.01.2015 19:57:58 Sandra
NotSolved
27.01.2015 12:22:02 Sandra
NotSolved
Blau Blau Format 00:00:27:19
27.01.2015 20:12:27 MarkuK
NotSolved

Ansicht des Beitrags:
Von:
MarkuK
Datum:
27.01.2015 20:12:27
Views:
838
Rating: Antwort:
  Ja
Thema:
Format 00:00:27:19

Hallo,

 

ich habe den Code jetzt mal so erweitert, dass ein paar Fehler abgefangen werden.

Somit sollte immer ein Wert als Datum zurückgegeben werden, auch wenn er Null ist.

Public Function UmwandelnZeit(Zeit As String) As Date
Dim x() As String
Dim negativ As Integer

If Zeit <> "" Then
    negativ = IIf(Left(Zeit, 1) = "-", -1, 1)
    x = Split(Zeit, ":")

    If UBound(x) = 3 Then
        UmwandelnZeit = Sgn(negativ) * (Abs(x(0)) + TimeSerial(x(1), x(2), x(3)))
    End If
End If
End Function

 

Aber ich vermute mal deine Probleme rühren woanders her.

 

Eine mögliche Ursache:

Ich habe mir nicht die Mühe gemacht, deine Code-stücke nachzuvollziehen.

Aber es kommt des öffteren so was vor:

    Selection.Delete Shift:=xlToLeft

Wann du natürlich Spalten löscht, hat Excel ein Problem, wenn eine Formel zuvor genau aus der Spalte was holen wollte.

In der Formel müsste dann !Bezug stehen.

 

Dann hast du im Blatt Monitor Spalten hinzugefügt. In Spalte SOLL-AVIS (Spalte R) steht aber immer noch

=H2-(K2-M2)

die "Tolleranz" also die 10 Minuten die du abziehen möchtest ist aber durch das Einfügen gewandert nach Spalte Q

 

Deine bedingte Formatierungen passen auch nicht mehr, gleiches Problem, Spalte M ist zu Spalte Q geworden.

Allerdings verstehe ich nicht warum in der bedingten Formatierung noch M steht, da Excel so inteligent ist, und beim Einfügen von

Spalten dies dann gleich berücksichtigt. (Ich vermute mal du hast das dann einfach von einem alten Stand eingefügt)

Zudem hast du sehr viele bedingte Formatierungen auf dem Blatt, die meißt das selbe machen, aber immer auf einen anderen

Bereich gültig sind.

 

An deiner Stelle würde ich mir eher Gedanken machen, ob du das Importieren nicht änderst.

Und zwar so, dass du beim Importieren gleich die "komischen" Zeitwerte (00:00:00:00) in richige Datum/Zeit-Werte umwandelst.

Spalten die nicht gewandelt werden müssen kannst du ja auf einmal kopieren und Einfügen, aber Spalten die umgewandelt gehören,

würde ich Zelle für Zelle übertragen und dabei (mit der Funktion) umwandeln.

Oder es gibt auch noch andere Wege zu Importieren. (aber das würde jetzt den Rahmen sprengen.

 

Und ich würde nicht immer "Alles" einfügen sondern nur die Werte.

Also nicht Selection.Paste, sondern eher so was Range(" A2").PasteSpecial Paste:=xlPasteValues

Vorteil wäre halt, du könntest dir das ganze Formatieren und Formeln neue einfügen etc auf den Blättern ersparen.

 

Dann noch was:

Du schreibst oft so was in der Art.

Range("A1:I1").Select
Selection.Font.Bold = True

Das macht den Code aber unnötig lang, schlecht zu lesen und langsam, denn das Select benötigt man so gut wie nie.

es geht auch so:

Range("A1:I1").Font.Bold = True

 


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
20.01.2015 12:33:24 Sandra
Solved
22.01.2015 19:06:45 MarkusK
NotSolved
23.01.2015 12:56:01 Sandra
NotSolved
23.01.2015 13:01:26 Sandra
NotSolved
23.01.2015 22:10:48 MarkusK
NotSolved
24.01.2015 21:23:13 Gast97356
NotSolved
24.01.2015 21:24:23 Sandra
NotSolved
24.01.2015 23:40:40 Gast79050
NotSolved
25.01.2015 09:42:11 Sandra
NotSolved
25.01.2015 11:47:03 Gast28280
NotSolved
25.01.2015 11:47:47 Sandra
NotSolved
25.01.2015 11:56:21 Sandra
NotSolved
25.01.2015 19:25:47 MarkusK
Solved
25.01.2015 21:02:53 Sandra
NotSolved
25.01.2015 21:26:31 Sandra
NotSolved
25.01.2015 21:41:58 MarkusK
NotSolved
23.01.2015 05:56:13 Gast27120
NotSolved
26.01.2015 08:39:25 Sandra
NotSolved
26.01.2015 10:06:26 Sandra
NotSolved
26.01.2015 11:12:03 Sandra
NotSolved
26.01.2015 11:37:38 Gast63110
NotSolved
26.01.2015 11:51:29 Sandra
NotSolved
26.01.2015 19:15:21 MarkuK
NotSolved
26.01.2015 19:57:58 Sandra
NotSolved
27.01.2015 12:22:02 Sandra
NotSolved
Blau Blau Format 00:00:27:19
27.01.2015 20:12:27 MarkuK
NotSolved