Microsoft Excel

Herbers Excel/VBA-Archiv

Aneinanderreihen von Zeilen

Betrifft: Aneinanderreihen von Zeilen von: Alina
Geschrieben am: 13.08.2008 10:27:21

Hi zusammen!
Ich habe eine riesige automatisch erzeugte Liste, bei der zu einem Artikel gehörende Daten auf mehrere Zeilen verteilt sind; Problem: manchmal auf zwei, manchmal auf drei Zeilen. Das Merkmal, mit dem jeder neue Artikel anfängt, ist das Datum im Format xx.xx.20xx in der ersten Spalte.
Ich bräuchte daher ein Skript, das durch das Datum "erkennt", daß ein neuer Artikel anfängt und die Zeilen bis zu diesem nächsten Artikel jeweils zu einer einzigen Zeile aneinanderreiht.

Ich habe mal eine beispielhafte Datei hochgeladen (https://www.herber.de/bbs/user/54567.xls

)!

Vielen Dank für Eure Mühe!

Gruß
alina

  

Betrifft: AW: Aneinanderreihen von Zeilen von: Rudi Maintaire
Geschrieben am: 13.08.2008 10:42:45

Hallo,
hatten wir das nicht letztens erst?
Du hast doch Code bekommen. Was ist damit?

Gruß
Rudi


  

Betrifft: AW: Aneinanderreihen von Zeilen von: Alina
Geschrieben am: 13.08.2008 10:56:11

Hi Rudi,

ja, das ist richtig, aber wie ich später nach manchen merkwürdigen "Arbeits-Ergebnissen" des Scripts entdeckte, sind die Artikel mal zwei und mal drei Zeilen "lang" - das hatte ich erst später bemerkt.

Gruß
ALina


  

Betrifft: AW: Aneinanderreihen von Zeilen von: Rudi Maintaire
Geschrieben am: 13.08.2008 11:24:20

Hallo,
ist in der 3.Zeile immer nur die Ergänzung zur Art-Bezeichnung, oder wie sieht das aus?
Soll die Art-Bez. entsprechend ergänzt werden oder eigenes Feld?

Gruß
Rudi


  

Betrifft: AW: Aneinanderreihen von Zeilen von: Alina
Geschrieben am: 13.08.2008 12:01:06

Wenn die 3. Zeile besteht, dann besteht sie aus der Ergänzung zur Artikelbezeichnung. Ich brauche sie nicht unbedingt, sie könnte auch gelöscht werden, ich hätte aber auch keine Probleme, wenn sie in einem eigenen Feld "rechts" angehängt würde...

Gruß
Alina


  

Betrifft: AW: Aneinanderreihen von Zeilen von: Rudi Maintaire
Geschrieben am: 13.08.2008 12:35:37

Hallo,

Ich brauche sie nicht unbedingt


das macht die Sache einfacher

Sub tt()
  '© Rudi Maintaire, 2008/08
  Dim i As Long, j As Integer, k As Integer, n As Long
  Dim arrDaten()
  
  'Kopfzeile
  n = 1
  ReDim Preserve arrDaten(1 To 16, 1 To n)
  For j = 0 To 1
    For k = 1 To 8
      arrDaten(k + j * 8, n) = Cells(1 + j, k)
    Next
  Next
  
  'Daten lesen
  For i = 3 To Range("A1").CurrentRegion.Rows.Count
    If IsDate(Cells(i, 1)) Then
    n = n + 1
    ReDim Preserve arrDaten(1 To 16, 1 To n)
    For j = 0 To 1
      For k = 1 To 8
        arrDaten(k + j * 8, n) = Cells(i + j, k)
      Next
    Next
    End If
  Next i
  
  'Daten in neues Blatt
  Worksheets.Add
  Cells(1, 1).Resize(n, 16) = WorksheetFunction.Transpose(arrDaten)
End Sub


Gruß
Rudi


  

Betrifft: AW: Aneinanderreihen von Zeilen von: Alina
Geschrieben am: 13.08.2008 13:17:06

Hey Rudi,
supervielen Dank, genauso wollt ichs haben!!!

GLG
Alina


 

Beiträge aus den Excel-Beispielen zum Thema "Aneinanderreihen von Zeilen"