Text Zerlegen, Datum Berechnen

Bild

Betrifft: Text Zerlegen, Datum Berechnen
von: Alex
Geschrieben am: 15.11.2015 16:53:45

Hallo zusammen,
ich benötige wieder eure Hilfe.
in denn ersten drei Spalten lese ich folgenden Daten aus : Pfad,Erstell_datum,Änderungs_Datum, Dateiname.
Diese Spalten zerlege ich auf folgende Spalten (siehe Datei)
in der Spalte "X" steht das Erstelldatum z.b. 29.02.2015 das wandele ich um auf die Kalenderwoche, in der spalte Spalte "y" das entsprechende Jahr. In der Spalte "AC" ist das Auslieferungsdatum und in der Spalte "AB" das entsprechende Jahr.
In der Spalte "AE" befindet sich der Auslieferungsmonat.
folgendes Problem.
1. Der Text zu zerlegen auf die entsprechende Spalten dauert ewig, kann hier etwas optimiert werden?
2. Ich möchte in der Spalte "AA" die Dauer in Kalenderwoche von (Erstelldatum "X" - Auslieferungsdatum "AC") bei mir steht ein Minus wert da ich das Jahr nicht miteinbeziehe meine Formel =AC-X
ich hoffe das ich das verständlich geschrieben habe.
Vielen Dank im Voraus.
https://www.herber.de/bbs/user/101532.xlsm

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Herbert Grom
Geschrieben am: 15.11.2015 19:15:42
Hallo Alex,
erheblich schneller geht das, wenn Du die "textteile" zuerst in einem Array sammelst und erst zum Schluss in die Spalte schreibst.
Wenn Du nicht weißt wie das geht, dann mache ich Dir morgen eine Lösung. Es kann allerdings später Nachmittag werden. Wenn es Dir bis dahin reicht und Dir kein Anderer eine Lösung gebaut hat, mache ich Dir eine Lösung.
Servus

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Alex
Geschrieben am: 15.11.2015 19:32:29
Hallo Herbert,
danke für deine Hilfe, ich glaub nicht das ich das hinbekomme ich bin für jede Hilfe dankbar, natürlich reicht mir die Lösung morgen. Kennst du dich auch mit dem Datum aus ?
Ich möchte das Datum in spalte "X" umwandeln in Kalenderwoche und die Dauer zu Spalte "AC" ermitteln.
Danke nochmals.
Gruß
Alex


Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Herbert Grom
Geschrieben am: 15.11.2015 19:39:21
Hallo Alex,
Das Datum in Spalte "X" kannst Du doch hiermit (=KALENDERWOCHE(B2)) als KW anzeigen lassen, falls das reicht.
Servus

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Alex
Geschrieben am: 15.11.2015 20:28:57
in der Spalte B2 brauch ich das genau Datum, aber ich probier mal die spalte AC in ein Datum umzuwandeln und dann mit der Formel "=Nettoarbeitstage" in Spalte AC zu ermitteln.
danke nochmals.
Gruß
Alex

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Herbert Grom
Geschrieben am: 16.11.2015 15:35:03
Hallo Alex,
warum steht in Spalte D das selbe wie in Spalte A, nur in anderer Sortierung?
Servus

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Herbert Grom
Geschrieben am: 16.11.2015 15:39:16
Übrigens steht in Spalte AC kein Datum sondern das Jahr. Was soll also in Spalte AC stehen?

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Herbert Grom
Geschrieben am: 16.11.2015 15:41:31
Außerdem schreibst Du, dass Du in Spalte B das genaue Datum brauchst. Es steht dort aber das Datum UND die Uhrzeit! Was soll also in Spalte B stehen?

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Herbert Grom
Geschrieben am: 16.11.2015 15:53:49
Überarbeite mal Deine Datei, so dass jede benutzte Spalte auch eine Überschrift hat und dass die Namen in Deiner Beschreibung mit den Überschriften überein stimmen. Überarbeite dann Deine Aufgabenbeschreibung noch mal und schick mir dann die Datei wieder.

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Alex
Geschrieben am: 16.11.2015 17:59:31
Hallo Herbert,
https://www.herber.de/bbs/user/101564.xlsm
hab hier inn der Liste meine Kommentare hinterlegt, ich hoffe das es verständlich ist.
1. In der Spalte A steht der Pfad wo sich die Datei befindet und in der Spalte D der Dateiname "2015-6_xxxx_...."
2. In der Spalte AC steht die Auslieferungswoche z.B. "8" (siehe Kommentar)
3. Die ersten 4 Spalten werden ausgelesen, Spalte A = Pfad, Spalte B = Änderungs_Datum der Datei, Spalte C = das Erstell_Datum von der Datei, Spalte D = Dateiname nach dem ich suche "20*-*.rtf"
Ich hoffe das ist irgendwie verständlich.
Danke nochmals :-) und sorry wenn ich das nicht so verständlich geschrieben habe. (Man sieht vor lauter Bäumen den Wald nicht)
Mfg
Alex

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Herbert Grom
Geschrieben am: 17.11.2015 11:25:11
Hallo ALex,
warum arbeitest Du in Deiner Tabelle mit Formeln und VBA? Wenn Du schon mit Formeln arbeitest, wie in Spalte AE, dann könntest Du doch gleich alles mit Formeln machen. Was spricht da dagegen?
Servus

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Herbert Grom
Geschrieben am: 17.11.2015 13:00:45
Hallo Alex,
Deine Erläuterungen sind alles andere als Verständlich! Deine 2. Datei ist völlig anders aufgebaut als die Erste.
Einmal schreibst Du, in Spalte AC soll ein Datum stehen, das nächste Mal soll es dann wieder die Auslieferungswoche sein. Also ganz ehrlich, ich habe keine Lust mehr daran zu arbeiten, denn Du kannst mir nicht genau beschreiben, was Du eigentlich willst. Ich habe Dir 3 konkrete Fragen gestellt, auf die ich von Dir keine vernünftige Antwort bekam.
Ich bin am Ende meiner Geduld angelangt. Hiermit beende ich meine Hilfe für Dich.
Servus

Bild

Betrifft: AW: Text Zerlegen, Datum Berechnen
von: Alex
Geschrieben am: 18.11.2015 18:45:51
Hallo Herbert,
trotzdem vielen dank, ich habe das jetzt mit formeln gelöst.
Das mit dem Text Zerlegen habe ich so gelöst, funktioniert mal soweit.
und das mit dem Datum habe ich jetzt so mit der Formel gemacht.

Sub Zerlegen_new()
Dim z As Long
Dim zelle As Range
Dim Zeile As Long, y, x As Long
Dim textteile
Application.DisplayAlerts = False
Worksheets("Tabelle2").Select
Columns(1).TextToColumns _
    Destination:=Range("L1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
    Tab:=False, Semicolon:=False, Comma:=False, Space:=False, _
    Other:=True, OtherChar:="\"
   
Columns(4).TextToColumns _
    Destination:=Range("E1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
    Tab:=False, Semicolon:=False, Comma:=False, Space:=False, _
    Other:=True, OtherChar:="_"
    
Columns(3).TextToColumns _
    Destination:=Range("X1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
    Tab:=False, Semicolon:=False, Comma:=False, Space:=True, _
    Other:=False, OtherChar:=""
    
 
Columns(5).TextToColumns _
    Destination:=Range("AB1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
    Tab:=False, Semicolon:=False, Comma:=False, Space:=False, _
    Other:=True, OtherChar:="-"
    
Columns(8).TextToColumns _
    Destination:=Range("AH1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
    Tab:=False, Semicolon:=False, Comma:=False, Space:=False, _
    Other:=True, OtherChar:="-"
    
        
Columns(10).TextToColumns _
    Destination:=Range("AJ1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
    Tab:=False, Semicolon:=False, Comma:=False, Space:=False, _
    Other:=True, OtherChar:="."
    
    
For z = 1 To 6000 'Hier die Anzahl Zeilen angeben
  With ActiveSheet
    On Error Resume Next
    .Hyperlinks.Add .Cells(z, 8), .Cells(z, 1).Value
    .Hyperlinks.Add .Cells(z, 34), .Cells(z, 1).Value
  End With
Next
Call ERSTELLDATUM_AUSL_DATUM
Application.DisplayAlerts = True
End Sub

Sub ERSTELLDATUM_AUSL_DATUM()
Range("AE2").Select
ActiveCell.FormulaR1C1 = "=KWMonat(RC[-2],RC[-3])"
Selection.AutoFill Destination:=Range("AE2:AE3350"), Type:=xlFillDefault
Range("AD2").Select
ActiveCell.FormulaR1C1 = _
"=DATE(RC[-2],1,1)+RC[-1]*7-WEEKDAY(DATE(RC[-2],1,1),2)+IF(WEEKDAY(DATE(RC[-2],1,1),2)>4,1,-6)"
Selection.AutoFill Destination:=Range("AD2:AD3000"), Type:=xlFillDefault
Range("Z2").Select
ActiveCell.FormulaR1C1 = "=WEEKNUM(RC[-2])"
Selection.AutoFill Destination:=Range("Z2:Z3000"), Type:=xlFillDefault
Range("AF2").Select
ActiveCell.FormulaR1C1 = "=NETWORKDAYS(RC[-8],RC[-2])"
Selection.AutoFill Destination:=Range("AF2:Af3000"), Type:=xlFillDefault
        
Range("AA2").Select
 ActiveCell.FormulaR1C1 = "=RC[5]/5"
Selection.AutoFill Destination:=Range("AA2:AA3350"), Type:=xlFillDefault
  End Sub


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Text Zerlegen, Datum Berechnen"