Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mehrzeiligen Datensatz in eine Zeile umkopieren

Mehrzeiligen Datensatz in eine Zeile umkopieren
22.02.2004 16:19:52
Engelhardt
Hallo,
habe folgendes Problem:
Wenn die Bedingung zutrifft, dass die Identifikationsnummer die gleiche ist, dann soll dieser 6-zeilge Datensatz in zwei einzelne Zeilen (jede Identifikationsnummer eine Zeile) geschrieben werden, der die Zahl Null jeweils nicht enthält!!!!
Hier mal mein Problem (so liegen in etwa die Daten vor):
1234 bzw. 1235 ist die Idnetifikationsnummer, dann folgen die Daten...
1234 4 5 3 4 0 0 0 0 0
1234 0 0 0 0 3 4 4 4 0
1234 0 0 0 0 0 0 0 0 2
1235 2 2 3 3 0 0 0 0 0
1235 0 0 0 0 4 5 3 3 0
1235 0 0 0 0 0 0 0 0 1
Ergebnis soll sein:
1234 4 5 3 4 3 4 4 4 2
1235 2 2 3 3 4 5 3 3 1
Habe schon versucht mich bei exelformeln.de und auf dieser Seite schlau zu machen, aber leider noch keine Lösung gefunden!! Wäre für jede Hilfe sehr,sehr dankbar....
Besten Dank für Antworten und Lösungen
Jan-Frederik

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrzeiligen Datensatz in eine Zeile umkopieren
22.02.2004 16:50:57
Ramses
Hallo
wo stehen die Daten ?
Wieviele Datensätze sind es?
Werden diese importiert in EXCEL ?
Stehen die Zahlen in jeweils einzelnen Zellen ?
Wo sollen die Daten ausgegeben werden.
Gruss Rainer
crossposting
22.02.2004 16:58:23
http://www.excel-center.de/forum/read.php?f=1&i=57796&t=57796
Der Begriff Crossposting bedeutet, dass die gleiche Frage in mehreren Foren gleichzeitig gestellt wird.
Es braucht uns niemand beweisen, dass er / sie das Copy & Paste beherrscht. ;-)
Die meisten Forenbetreiber und auch die Helfer fassen dies als Nichtanerkennung ihres Fachwissens und Könnens auf und reagieren dementsprechend. In einem Forum erhalten sie eine Antwort, aber eine Stunde später bemüht sich jemand in einem anderen Forum um ihre Lösung - allerdings für den Papierkorb. Dadurch wird Zeit, die für andere Fragen notwendig ist, gebunden. Oder hätten Sie in den anderen gepostet, dass sie inzwischen eine Antwort haben?
Die meisten Helfer sind in mehreren Foren und Newsgroups unterwegs und werden dementsprechend die meisten Crosspostings entdecken. Die Reaktionen darauf sind sehr unterschiedlich. Manche, so auch ich, lassen Crosspostings einfach links liegen. Andere hingegen werden auch in ihrer Wortwahl sehr deutlich.
Forumseinträge wegen des Crosspostings sind nicht als Angriff auf Ihre Person zu verstehen, sondern sollen Ihnen den Hinweis geben, was Sie falsch gemacht haben. Jede Forumsfrage ohne Crossposting ist uns willkommen und wird auch von einem von uns beantwortet werden, falls wir die Antwort hierzu wissen und Zeit haben. Falls nach einer geraumen Zeit keine Antwort eingegangen ist, steht es Ihnen natürlich offen nach anderen Informationsquellen Ausschau zu halten.
Anzeige
AW: ist egal
22.02.2004 17:12:34
.
.
AW: Mehrzeiligen Datensatz in eine Zeile umkopieren
22.02.2004 17:26:20
Engelhardt
Das mit dem Crossposting ist nur auf zwei Foren passiert - ersteinmal wusste ich nicht, dass das so sensibel gehandhabt wird, außerdem werde ich im andren Forum umgehend melden, dass ich die Lösung habe. Ich finde das dann wirklich nicht so problematisch. Sollte sich jemand dadurch aber auf die Füße getreten fühlen - sorry!
Nu zu den Fragen:
wo stehen die Daten ?
in einer Excel-Tabelle
Wieviele Datensätze sind es?
Momentan 1446, mit mehr als den im Beispiel augeführten Spalten. Das das Problem aber immer das gleiche ist, dachte ich, das verkürzte Beispiel reicht
Werden diese importiert in EXCEL ?
Ja - Daten kommen aus einer MySQL Datenbank
Stehen die Zahlen in jeweils einzelnen Zellen ?
Ja, die Zahlen stehen immer in einzelnen Zellen!
Wo sollen die Daten ausgegeben werden.
Egal, in der gleichen Tabelle, in einer neuen, in eine Textdatei etc. Hauptsache ist, dass ich diese Verdichtung irgendwie hinbekomme!!
Beste Grüße
Jan-Frederik
Anzeige
AW: Mehrzeiligen Datensatz in eine Zeile umkopieren
22.02.2004 18:18:09
Ramses
Hallo
probier mal das:


Option Explicit
Sub Compact_Data()
Dim As Integer, n As Integer
Dim Cr As Integer, endC As Integer
Dim tCr As Integer
Dim tmpId As Integer, tmpStr As String
Dim qWks As Worksheet, tarWks As Worksheet
'Tabelle wo die Daten stehen
Set qWks = Worksheets("Tabelle1")
'Neue Tabelle erstellen für Datenausgabe
Set tarWks = Worksheets.Add
'Letzte Zeile definieren in Datenquelle
Cr = qWks.Cells(65536, 1).End(xlUp).Row
tmpId = 0
tCr = 1
tmpStr = ""
'Daten einlesen
For i = 1 To Cr + 1
    If qWks.Cells(i, 1) = tmpId Then
        For n = 2 To qWks.Cells(i, 255).End(xlToLeft).Column
            If qWks.Cells(i, n) > 0 Then
                tmpStr = tmpStr & qWks.Cells(i, n) & " "
            End If
        Next n
    Else
        If qWks.Cells(i, 1) = "" Then
            tarWks.Cells(tCr, 1) = tmpStr
            Exit For
        End If
        tarWks.Cells(tCr, 1) = tmpStr
        tCr = tCr + 1
        tmpId = 0
        tmpStr = ""
        tmpId = qWks.Cells(i, 1)
        tmpStr = tmpStr & tmpId & " "
        For n = 2 To qWks.Cells(i, 255).End(xlToLeft).Column
            If qWks.Cells(i, n) > 0 Then
                tmpStr = tmpStr & qWks.Cells(i, n) & " "
            End If
        Next n
    End If
Next i
tarWks.Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Der letzte Datensatz wird allerdings doppelt geschrieben, ich weiss noch nicht warum.
Aber den kannst du einfach löschen ;-)
Gruss Rainer
Anzeige
AW: Mehrzeiligen Datensatz in eine Zeile umkopieren
22.02.2004 18:33:59
NE
Abend auch,
@Ramses, schön :-)
@Jan: gib' halt einen Hinweis im andren Forum,
damit die andren Bescheid wissen, dasses erledigt ist, fänd' ich nett ... ;-)
lg Nancy
Hammer - ich glaub das ist es!!
22.02.2004 18:34:59
Engelhardt
Hallo!!!!
Hat mit der Antrwort ein weing gedauert...habe noch nie ein Makro ausgeführt :-)
Aber diese Wirre Buchstabenkombination hat auf einmal eine Tabelle mit dem erzeugt, was ich haben wollte! Ich habe das jetzt nur für das kleine Beispiel gemacht, und werde mich sofort an den großen Datensatz machen -bin sehr gespannt. Aber schon jetzt ein:

VIELEN DANK!!!
Beste Grüße
Jan-Frederik
Anzeige
Merci :-)) Geschlossen o.T.
22.02.2004 19:59:13
Ramses
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige