Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dateinzeilein in mehrere Zeilen schreiben

Dateinzeilein in mehrere Zeilen schreiben
07.03.2019 10:35:11
Jürgen
Liebes Forum,
Zu dem o.e. Thema gibt es zwar schon Beiträge, aber ich tue mich sehr schwer damit, die bestehenden VBA-Code umzuschreiben. Grund : (bis jetzt) habe ich noch keine VBA-Kenntnisse.
Im Anhamg habe ich eine Rechnungsdatei mit Fahrdatensätzen, die verschiedene Informationen enthalten. Aktuell befindet sich für jede abgeschlossene Reservierung ein Fahrdatensatz.
Ich möchte gerne für Reservierungen, die länger als 1 Tag sind, dass diese Daten auf eine 2. und 3. je nach Bedarf geschrieben werden.
Bsp.
Alt : Linie 1 : Reservierung 02.01.2019 15:45 - 03.01.2019 06:45
Neu : Linie 1 : Reservierung 02.01.2019 15:45 - 02.01.2019 00:00
Linie 2 : Reservierung 03.03.2019 00:00 - 03.01.2019 06:45
Ich hoffe, dass ich mein Anliegen einigermasse verständlich rübergebracht habe :)
Für Eure Hilfe bedanke ich mich im voraus !
Herzliche Grüsse aus Luxemburg !
Jürgen
https://www.herber.de/bbs/user/128170.xlsx
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinzeilein in mehrere Zeilen schreiben
10.03.2019 09:19:02
Sepp
Hallo Jürgen,
probier mal.
Modul Modul1
Option Explicit 
 
Sub splitLines() 
  Dim lngRow As Long, lngLast As Long 
 
  On Error GoTo ErrorHandler 
  Application.ScreenUpdating = False 
    With Tabelle1 'oder Sheets("Sheet1") oder ActiveSheet! 
      lngLast = Application.Max(2, .Cells(.Rows.Count, 1).End(xlUp).Row) 
    For lngRow = lngLast To 2 Step -1 
      If IsDate(.Cells(lngRow, 11)) And IsDate(.Cells(lngRow, 12)) Then 
        If CLng(CDate(Left(.Cells(lngRow, 12), 10))) > CLng(CDate(Left(.Cells(lngRow, 11), 10))) Then 
          .Rows(lngRow).Copy 
          .Rows(lngRow + 1).Insert Shift:=xlDown 
          Application.CutCopyMode = False 
          .Cells(lngRow + 1, 11) = CLng(CDate(Left(.Cells(lngRow, 12), 10))) 
          .Cells(lngRow + 1, 12) = .Cells(lngRow, 12) 
          .Cells(lngRow, 12) = CLng(CDate(Left(.Cells(lngRow, 11), 10))) 
          .Cells(lngRow, 13) = (.Cells(lngRow, 12) + 1 - .Cells(lngRow, 11)) * 1440 
          .Cells(lngRow + 1, 13) = (.Cells(lngRow + 1, 12) - .Cells(lngRow + 1, 11)) * 1440 
          .Range(.Cells(lngRow + 1, 15), .Cells(lngRow + 1, .Columns.Count)) = "" 
        End If 
      End If 
    Next 
  End With 
   
ErrorHandler: 
  Application.ScreenUpdating = True 
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige