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

Daten per VBA umformatieren

Daten per VBA umformatieren
26.08.2017 17:03:04
snewi
Hallo, ich habe Daten die ich gerne umformatieren möchte per VBA!
Ich habe mal ein Beispiel angehängt! Die Daten die in B stehen möchte ich in mehrere Spalten nach Start Date, Start Time, End Date, End Time, AllDayEvent aufteilen!
Wie mache ich das?
Gruß
https://www.herber.de/bbs/user/115782.xlsx

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten per VBA umformatieren
26.08.2017 17:09:45
Hajo_Zi
VBA wurde ja abgelehnt. In einer XLSX Datei kann kein VBA sein.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
AW: Daten per VBA umformatieren
26.08.2017 17:24:48
snewi
HAllo, es ist ja auch noch kein vba vorhanden! Wollte ja wissen wie ich es machen muss?
LG
Anzeige
AW: Daten per VBA umformatieren
26.08.2017 19:24:02
onur
Mit "Umformatieren" hat das Problem nix zu tun - Man muss sus dem Text die Daten heraus splitten und kopieren.Das ist schon etwas komplexer.
AW: wer findet den Zeit Fehler in meinem Code ?
26.08.2017 21:29:59
Piet
Hallo
noch eine Beispieldatei, ich habe die Aufgabe etwas anders verstanden als onur.
Ich bitte versierte Kollen sich den Fehler in meinem Code einmal anzusehen.
Mein Makro hat leider einen Schönheitsfehler. Es gibt ein Datum wo das Ergebnis falsch rauskommt!
13.02.2017 - 11.12.2017, 15:30 - 17:00 Uhr - hier bekomme ich als Startzeit 15:03 statt 15:30
Um das zu prüfen habe ich eine Prüfroutine eingebaut die solche Zellen anzeigt.
Warum Excel aber nur bei diesem Datum felsch berechnet ist mir ein Raetsel!!
https://www.herber.de/bbs/user/115789.xlsm
mfg Piet
Anzeige
AW: wer findet den Zeit Fehler in meinem Code ?
27.08.2017 11:57:44
Nepumuk
Hallo Piet,
da sind noch mehr Fehler drin (z.B. stimmt dein Zeilenzähler z nicht), aber der angesprochene berücksichtigt das Leerzeichen nach dem Komma nicht. Daher:
SZeit = Mid(Trim(AC), InStr(AC, ",") + 1, 5)
Gruß
Nepumuk
AW: Danke an Nepumuk, habs übersehen oWt
27.08.2017 12:26:52
Piet
AW: Danke an Nepumuk, habs übersehen oWt
28.08.2017 10:23:22
snewi
Hallo Piet, Hallo Nepumuk,
Danke erstmal für eure tolle Arbeit! Ihr habt es genau richtig verstanden! Ich meinte es nicht so wie Onur das gelöst hat! 2 Kleinigkeiten habe ich noch! Die ID war nur zur Hilfe gedacht um euch ein paar Beispiele zu geben! Die kann bei der Umschlüsselung raus! als zweites wenn nur ein Datum auf der linken Seite steht könnt ihr dann den Punkt AllDayEvent auf True setzen?
Sonst Hammer! Danke echt! ISt denn das Problem mit der Zeit jetzt eigentlich raus?
LG
https://www.herber.de/bbs/user/115825.xlsm
Anzeige
AW: Daten per VBA umformatieren
28.08.2017 12:32:19
Piet
Hallo snewi
ich freue mich das dir die Arbeit in Zusammenarbeit mit Nepumuk gefaellt. Wie ich in der Beispiel Datei sehe hast du den Fehler mit der Zeit schon selbst korrigiert. Danke! Der Fehler sollte damit behoben sein. Anbei ein überarbeiteter Code.
Die ID Nr. habe ich herausgenommen. Dafür übernehme ich an erster Stelle: - If Len(AC) Der Fehler im Zeilenzähler basierte auf der Tatsache das ich dieses Datum vorher übersprungen habe.
Bitte schau dir das neue Ergebnis in Ruhe an. Würde mich freuen wenn es jetzt bso perfekt ist.
mfg Piet
Option Explicit      '26.8.2017  Piet  Herber Forum
Dim Start As String, Ende As String
Dim SZeit As String, EZeit As String
Const NMT = "15:00"    'nachmittag 15:00 Uhr
'Makro zum Datum aufschlüsseln !!
'** versagt beim diesem Datum:
'   13.02.2017 - 11.12.2017, 15:30 - 17:00 Uhr
'SZeit = Mid(Trim(AC), InStr(AC, ",") + 1, 5)
'überarbeitet 27.8.:
's. If Len(AC)  12 Then
'Cells(z, 4) = z - 1    '**  ID Nummer nicht auflisten!!  28.8.17
'z = z + 1   'next Zeile
'End If
Next AC
Exit Sub    'Programm Ende, der Rest war Prüfprogramm für Zeitfehler !!
'Prüfung auf 30 Minuten Unstimmigkeit
For Each AC In Range("H2:H" & lz)
If AC.Value = Empty Or Minute(AC) = 0 Then
ElseIf Minute(AC)  30 Then
AC.Select
ok = MsgBox(AC.Value & "  Minute  30, Prüfen", vbOKCancel)
If ok = vbCancel Then Exit Sub
End If
Next AC
For Each AC In Range("F2:F" & lz)
If AC.Value = Empty Or Minute(AC) = 0 Then
ElseIf Minute(AC)  30 Then
AC.Select
ok = MsgBox(AC.Value & "  Minute  30, Prüfen", vbOKCancel)
If ok = vbCancel Then Exit Sub
End If
Next AC
End Sub

Anzeige
AW: Daten per VBA umformatieren
28.08.2017 12:55:15
snewi
Sieht erstaml mega gut aus! Prüfe das aber nochmal genau! Danke erstmal bis hierher!
Ich sehe du hast eine Variable für "nachmittags" gesetzt! Weisst du zufällig ob es im Google Kalender auch einen Wert dafür gibt? zb. afternoon oder so!
Ebenfalls wenn zb nur Start Date und Starttime befüllt ist belegt der GoogleKalender Das Enddate und die Endtime ebenfalls mit startdate und starttime! Weisst du was man reinschreiben müsste damit diese wirklich leer bleiben?
LG
AW: Daten per VBA umformatieren
29.08.2017 10:32:36
Piet
Hallo
mit Google Kalender kenne ich mich überhaupt nicht aus. Den Wert für Nachmittag 15:00 Uhr entnahm ich deiner Beispiel Tabelle und habe es in eine Variable notiert. Mehr weiss ich dazu nicht.
mfg Piet
Anzeige
AW: Daten per VBA umformatieren
30.08.2017 15:33:52
snewi
OK! Sag mal wenn ich das über zwei Tabellenblätter machen möchte also Rohdaten in Sheet Tabelle1 unter B mit Überschrift! Also daten ab B2 und das Ergebnis aufgeiteilt in Sheet Tabelle2 von B - F ab der 2.Zeile was müsste ich genau ändern! Hoffe du hilfst mir nochmal! Danke und gruss!
AW: Daten per VBA umformatieren
30.08.2017 22:47:49
snewi
Piet hast du nochmal eine Idee?
Gruss
AW: Daten per VBA umformatieren
31.08.2017 14:07:54
Piet
Hallo,
Sorry, ich war mit einem anderen kniffligen Thread beschaeftigt, hier eine Lösung für Tabelle2
Sollte die Anfage damit erledigt sein Thread bitte schliessen - Haeckchen nicht mehr aktivieren
Aber bitte erst testen ob alles funktioniert.
Zu deiner Frage wenn die Start und End Zeit nicht angegeben ist, Null ist - Da gibt es eine extra Auswertung vor: z = z + 1 'next Zeile
Hier kannst du selbst deine eigenen Zeiten festlegen wie du willst, oder den Teil einfach löschen wenn er überflüssig ist.
mfg Piet
Option Explicit      '30.8.2017  Piet  Herber Forum
Dim Start As String, Ende As String
Dim SZeit As String, EZeit As String
Const NMT = "15:00"    'nachmittag 15:00 Uhr
'Makro zum Datum aufschlüsseln !!
'** Hier Auflisten in Tabelle2 **
Sub Datum_aufschlüsseln_2()
Dim AC As Range, z, lz As Long, ok
Dim Tb2 As Worksheet   'Tabelle2
Set Tb2 = Worksheets("Tabelle2")
lz = Tb2.Cells(Rows.Count, 2).End(xlUp).Row
Tb2.Range("B2:F" & lz + 2) = Empty
With Worksheets("Tabelle1")
lz = .Range("B1").End(xlDown).Row
z = 2  '1. Zeile in Liste
'Schleife zum Dtum/Uhrzeit auswerten
For Each AC In .Range("B1:B" & lz)
SZeit = Empty: EZeit = Empty
'Datum ohne Uhrzeit ignorieren!!
If Len(AC) 

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige