Excel Makro Hallo, ich mache gerade Auswertungen über die Zeiterfassungen unserer Technikabteilung. Wir arbeiten momentan noch mit Exchange und öffentlichen Ordnern. In den Ordnern werden die Aufgaben an denen die Techniker gerade arbeiten bearbeitet. Nach Abschluss eines Tickets tragen Sie den Aufwand für das Ticket in das Feld "Gesamtaufwand" ein. Leider ist das ein Freitextfeld in Exchange und dann sehen die Eingaben wie folgt aus. [code] Gesamtaufwand 15 Minuten 30 Minuten 2,5 Stunden 1,5 Stunden [/code] Da ich aus der Ansicht mit den Aufgaben einfach einen schönen Copy&Paste nach Excel machen kann habe ich jetzt nur noch das Problem, dass sich die oben dargestellten Werte natürlich schlecht addieren lassen. Momentan bin ich noch dabei die Spalte immer händisch durchzugehen und den Wert dann in Minuten umzurechnen. Ist auch eine Möglichkeit aber kostet mich jedes Mal Zeit und Fehler können sich einschleichen. Gibt es eine Möglichkeit, das irgendwie automatisch per Makro in Minuten umrechnen zu lassen? Praktisch, wenn Minuten eingetragen sind, wird nur der Wert als solcher übertragen. Und wenn Stunden eingetragen sind, wird der Wert mal 60 genommen und dann in ein Feld übergeben. Ich möchte eigentlich eine zweite Spalte aufmachen und den Wert aus der oben genannten Spalte umrechnen und in Minuten genormt ausgeben. Gibt es dafür ein Makro, eine Formel oder ein anderes Helferlein? Ist Excel2007. Vielen Dank bereits im Voraus!!! :-) Schöne Grüße, ich :iosys: |
AW: Excel Makro hm je nachdem wie oft du das machen musst kannst du es ohne makro vllt einfacher durchführen: erstmal mit alle einträge, die "stunden" enthalten, herrausfiltern. damm mit suche/ersetzte z.B. "stunde" entfernen dann hast du nur noch zahlenwerte in den feldern die du mit 60 multiplizieren kannst. anschließend die werte wieder mit den vorherigen zusammenfügen und schon hast du alles in minuten. dort könntest du natürlch mit ersetzen auch alle worte "Minuten" entfernen lassen -- und dann addieren. Es gibt auch die möglichkeit, worte hinter zahlenfolgen in das folgende feld zu verschieben. |
AW: Excel Makro Kein Thema wenn in der Spalte A deine oben genannten Werte stehen folgende Formel verwenden: =WENN(IDENTISCH("Minuten";RECHTS(A2;7));LINKS(A2;2)*1;WENN(IDENTISCH("Stunden";RECHTS(A2;7));LINKS(A2;3)*60;0)) Das Ergebnis liefert die Minuten. |
AW: Excel Makro Habe es etwas "einfacher": [code]=WENN(ISTZAHL(SUCHEN("*M*";A2));WERT(LINKS(A2;FINDEN(" ";A2)-1));WERT(LINKS(A2;FINDEN(" ";A2)-1))*60)[/code]Macht folgendes: Wenn Suche nach "M" (für Minuten) irgendwo in der Zelle erfolgreich, dann übernimmt er den [U]Wert[/U] ([B]WICHTIG[/B], Wert, weil sonst als Text angesehen, der nicht für spätere Berechnungen verwendet werden kann) der ersten Zeichen bis zum Leerzeichen. Sonst (M nicht gefunden) wird der Wert bis zum Leerzeichen mit 60 multipliziert. Bedingung, dass das ganze funzt: - Es muss ein Leerzeichen zwischen Wert und Einheit stehen - es muss überhaupt eine Einheit vorhanden sein Folgendes ergab mein Test: [code] [B]Gesamtaufwand in Minuten[/B] 15 Minuten 15 30 Minuten 30 2,5 Stunden 150 1,5 Stunden 90 0 #WERT! 2 Katzen 120 3Minuten #WERT! Stunde #WERT! Minute #WERT! 1 Std. 60 20 Mins. 20 [/code]Alles andere (Fehlerbehandlung etc.) muss über Makro gemacht werden - kann ich dir auch machen, wenn du es brauchst! Gruß! :gizmo: |
AW: Excel Makro Ok, ich sitze jetzt hier und versuche mich an den Makros. Was mir im Makro noch fehlt, wäre der Hinweis, wo ich an welchen Stellen die Spalten und Bereiche definieren muss. DANKE EUCH! :-) |
AW: Excel Makro hää? Poste mal das Makro. |
AW: Excel Makro Liste der Anhänge anzeigen (Anzahl: 1) Habe mal was universelles cecodet: Makro rechnet alles um, was du definierst. Groß- und Kleinschreibung der Einheit ist egal, Dezimaltrennzeichen Punkt wird als Komma angesehen (1.5 = 1,5 ABER ist dann auch 1.000 = 1,0). Du musst nur die Startzelle und deine Einheiten definieren. Der Code: [code] ' Zeitaufwandskonverter von [EID]-Mr.GiZMO :) ' Beginn Konfiguration Const Startzeile As Integer = 1 ' Hier definieren, wo die erste Zelle mit Zeiteintrag steht Const Startspalte As Integer = 1 Type EinheitUndWertInMinuten Einheit As String Wert As Integer End Type Global Zeiteinheiten() As EinheitUndWertInMinuten Sub Converter() ReDim Zeiteinheiten(0 To 2) ' Hier Zahl erhöhen, wenn unten weitere Einheit hinzukommt Zeiteinheiten(0).Einheit = "min" ' Immer Wort ('min' findet "min", "minute", minuten" etc. in Groß- und Kleinschreibung Zeiteinheiten(0).Wert = 1 ' Und zugehöriger Wert Zeiteinheiten(1).Einheit = "st" Zeiteinheiten(1).Wert = 60 Zeiteinheiten(2).Einheit = "tag" Zeiteinheiten(2).Wert = 1440 ' Ende Konfiguration actualLine = Startzeile actualRow = Startspalte weiter = True While weiter = True Zelleninhalt = Cells(actualLine, actualRow).Value For i = 0 To UBound(Zeiteinheiten) If LCase(Zelleninhalt) Like "*" & Zeiteinheiten(i).Einheit & "*" Then ZellenWert = Replace(Left(Zelleninhalt, InStr(LCase(Zelleninhalt), Zeiteinheiten(i).Einheit) - 1), ".", ",") Cells(actualLine, actualRow + 1).Value = ZellenWert * Zeiteinheiten(i).Wert End If Next actualLine = actualLine + 1 If Cells(actualLine, actualRow).Value = "" Then weiter = False Wend End Sub [/code]Im Anhang gleich die .bas Datei zum direkten Import in VBA. Dann noch nen Button oder Tastenkombi auf Converter.Timeconverter lgen et voilà! Gruß :gizmo: |
AW: Excel Makro Geht das? :D |
AW: Excel Makro Ich habe es jetzt ein wenig einfacher gelöst bekommen als die *.BAS Datei. Habe das Ganze über ein Makro mit meinem Vater zusammen gebaut. Aber die Ansätze hier waren es eigentlich, die uns zur Lösung geführt haben. =WENN(D6="m";B6;WENN(D6="s";B6*60;WENN(D6="t";B6*1440;"? ? ?"))) Allerdings habe ich jetzt noch ein Problem, dass er mir die Makros unter 2007 nicht in der Form ausführen will, wie sie mit Office 2000 erstellt wurden... :lol: Ach die Welt ist schlecht... ;-) Trotzdem Danke! Die Lösung habe ich jetzt und ich bin soweit ganz glücklich! :-) Und wie immer: TOP Forum, TOP Antworten! :-) Die Firma dankt! :iosys: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.