Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
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 Sortieren in Spalten und Zeilen

Daten Sortieren in Spalten und Zeilen
27.01.2017 16:16:39
Antonia
Hallo liebe Leute,
ich komme hier mal wieder nicht so richtig weiter. Ich möchte einen Datensatz sortieren, in bestimmte Zeilen und Spalten:
https://www.herber.de/bbs/user/110946.xlsm
Bisher funktioniert es wie folgt:
Immer wenn sich auf Tabellenblatt1 die Spalte Datums ID ändert, wird die Spalte Meilen auf Tabellenblatt2 in eine neue Spalte kopiert(jeweils in die richtige Zeile je nach Zeit).
Nun würde ich das ganze gerne noch jeweils nach der Spalte ID sortieren. Das heißt auf Tabellenblatt2 sollen alle Spalten, die einer ID angehören, untereinanderstehen. ALso auf Tabellenblatt2 stehen alle Tage untereinander, die zur gleichen ID gehören.
Ich hoffe, das ist verständlich genug und das Excel-Sheet hilft dabei weiter, zu verstehen, was ich sagen möchte.
Ich danke euch schonmal!
Viele Grüße,
Antonia

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten Sortieren in Spalten und Zeilen
27.01.2017 19:11:06
onur
Hi Antonia,
Wenn ich ungefähr wüsste, wofür das Ganze gebraucht wird, könnte ich deinen Ausführungen viel besser folgen und die Logik dahinter verstehen.
Gruß
Onur
AW: Daten Sortieren in Spalten und Zeilen
29.01.2017 18:10:58
Antonia
Hey Onur,
danke für deine Antwort! Also es geht um Folgendes: Die Spalte ID entpricht unterschiedlichen Personen, die zu unterschiedlichen Tagen (Spalte Datums) zu bestimmten Uhrzeiten (Spalte Uhrzeit) eine bestimmte Strecke (Spalte Meilen) zurücklegen. Anbei nochmal das Excel mit anderen Spaltennamen, dann ist es vielleicht übersichtlicher.
https://www.herber.de/bbs/user/110985.xlsm
Und ich möchte nun für jede Person alle Tage mit den entsprechenden gefahren Meilen zur richtigen Uhrzeit untereinander stehen haben. Ich habe es bisher nur geschafft alle Tage nebeneinander zu kopieren (siehe Tabellenblatt). Also in jeder Spalte sollen für alle TAge, die Meilen zugehörig zu einer Person stehen. Nächste Spalte dann die nächste Person und so weiter.
Ich hoffe, das lässt sich jetzt besser verstehen. ISt irgendwie garnicht so einfach das verständlich zu formulieren.
Aber ich danke dir schon mal im Vorraus!!
Gruß, Antonia
Anzeige
AW: Daten Sortieren in Spalten und Zeilen
29.01.2017 18:46:08
onur
Hi Antonia,
Da du an für sich ein 3-Dimensionales Blatt brauchst, könntest du für jede Person, wenn es nicht zu viele gibt, ein blatt nehmen.
Oder du fügst unter jede Uhrzeit eine Zeile hinzu, wo das Datum eingetragen wird - d.h. Datum und Meilen stehen untereinander (Könntest du auch verschieden färben)
Gruß
Onur
AW: Daten Sortieren in Spalten und Zeilen
30.01.2017 08:55:19
Antonia
Hi Onur,
ja genau. Ich möchte gerne auf Tabellenblatt2 einfach alle Tage von jeder Person untereinanderschreiben. Für jede Person ein Blatt wird tatsächlich nicht gehen, da es im Originaldatensatz sehr viele sind. Mein vba-code kann sie bisher nur die Tage in Spalten sortieren, aber nicht die Tage jeweils für eine Person untereinander:
ub DatenSortieren()
Worksheets("Tabelle2").Range("B1:XFD97").ClearContents
Dim Zeile As Long
Dim Spalte As Long
Dim i As Long
Dim Anzahl As Long
Dim j As Long
Spalte = 1
For i = 2 To Worksheets("Tabelle1").UsedRange.Rows.Count
Zeit = TimeSerial(Int(Cells(i, 4) / 100), Cells(i, 4) - (Int(Cells(i, 4) / 100) * 100), 0)
If Cells(i, 3) Cells(i - 1, 3) Then
Spalte = Spalte + 1
Worksheets("Tabelle2").Cells(1, Spalte) = Worksheets("Tabelle1").Cells(i, 1) 'Kopiert haushaltsID
Worksheets("Tabelle2").Cells(2, Spalte) = Worksheets("Tabelle1").Cells(i, 3) ' Kopiert DatumsID
End If
Zeile = 3 + (Int(Cells(i, 4) / 100) * 4) + (Int(Cells(i, 4) - (Int(Cells(i, 4) / 100) * 100)) / 15)
Debug.Print Zeile
Worksheets("Tabelle2").Cells(Zeile, Spalte) = (Worksheets("Tabelle1").Cells(i, 5))
Next i
Worksheets("Tabelle2").Activate
End Sub
Kannst du mir hier vielleicht nochmals weiterhelfen?
Grüße,
Julia
Anzeige
AW: Daten Sortieren in Spalten und Zeilen
31.01.2017 11:55:53
Antonia
Hi Onur,
ich glaube, ich habe wirklich sehr schlecht formuliert, was ich machen möchte. Hier noch ein Versuch, in dem ich das ganze anders strukturiert habe. Hier sind auf Tabellenblatt 1 die Tage schon sortiert, aber noch nicht nach Person:

Die Datei https://www.herber.de/bbs/user/111027.xlsm wurde aus Datenschutzgründen gelöscht


Ich möchte einfach alle gefahrenen Meilen zur richtigen Uhrzeit für jeden TAg, aber alle Tage zugehörig zu einer Person untereinander schreiben(so wie es in Tabelle2 zwei schon vorgegeben ist). Das heißt, wenn das Makro jede Spalte nach einander durchgeht, soll es solange die es sich um die gleiche Person handelt, die Range eines Tages (also von 00.00 Uhr bis 00.00 Uhr) unter die erste Spalte der jeweiligen Person schreiben.
Ich bin dir sehr dankbar für deine Hilfe!
Antonia (Julia ist meine Kollegin, mit der ich das Projekt zusammen mache, sie hat gestern in meinem Namen geantwortet ;)
Anzeige
AW: Daten Sortieren in Spalten und Zeilen
31.01.2017 22:05:55
onur
Hi,
Ich glaube, meine letzte Antwort wurde vom System "gefressen", deswegen noch ein mal:
Ihr seid euch schon darüber im Klaren, daß allein in der ersten Beispieldatei 15 verschiedene DatumsID´s zu finden sind?
Das wären da schon 96x15 Zeilen zum Scrollen.
Ich muss noch wissen, wie das DatumsID sich zusammensetzt, dann kann ich alles auch passend sortieren lassen.
Gruß
Onur
AW: Daten Sortieren in Spalten und Zeilen
31.01.2017 22:33:28
Antonia
Hi Onur,
ja das ist mir bewusst, in der Originaldatei sind es sogar noch sehr viel mehr. Deshalb möchte ich dies auch per vba auslesen lassen und nicht händisch kopieren.
Die Datums-ID aus der ersten Beispieldatei kann vernachlässigt werden, die ist am Ende nicht so wichtig. Deshalb habe ich nochmals die andere Beispieldatei erstellt. Ich möchte eigentlich nur die jeweils 96 Zeilen pro Tag nach Personen sortieren. Also, wie in der letzten Beispieldatei alle Tage(jeweils 96 Zeilen) die eine Person gefahren ist untereinander haben (Siehe Tabellenblatt2).
Nochmals danke für deine Hilfe!
Gruß,
Antonia
Anzeige
AW: Daten Sortieren in Spalten und Zeilen
01.02.2017 20:34:44
onur
Hallo Antonia,
Hier eine vorläufige Version zum Testen, muss ich noch etwas verfeinern.
Aufruf über Button oder dein Makro (An deinem Makro habe ich nichts geändert, nur wird danach meins aufgerufen).
Übrigens, du hast einen Fehler in deinem Makro, die +97 ist falsch, deswegen ist die letzte zeile leer.
Wenn Du eine Beispielversion von den Rohdaten hast, kann ich dein makro neu machen.
Reichen 1000 verschiedene Tage?
Gruß
Onur
https://www.herber.de/bbs/user/111069.xlsm
AW: Daten Sortieren in Spalten und Zeilen
03.02.2017 08:36:28
Antonia
Hi Onur,
Super, du hast mir sehr weitergeholfen!! Ich denke, das passt dann so!
Vielen Dank!
Antonia
Anzeige
AW: Daten Sortieren in Spalten und Zeilen
01.02.2017 01:11:01
Piet
Hallo,
ich habe eine Makro Lösung, bin mir aber nach der letzten Rückfrage von Onur nicht mehr so sicher ob meine Lösung richtig ist? Am besten zuerst in einer Beispieldatei testen, damit nicht versehentlich Originaldaten überschrieben werden.
mfg Piet

Option Explicit    '31.1.2017   Piet   Herber Forum
Sub Daten_kopieren()
Dim rFind As Object
Worksheets("Tabelle1").Select
'alle LastZellen abwaerts ermitteln
lz = Cells(Rows.Count, "B").End(xlUp).Row + 1
lz2 = Range("C4").End(xlDown).Row
lz3 = Range("D4").End(xlDown).Row
Set rFind = Columns(1).Find(What:="00:00 - 00:15", After:=Range("A6"), _
LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext)
If rFind Is Nothing Then GoTo Fehler
'Spalte C kopieren
Range("C4:C" & lz2).Copy 'oder Cut nehmen
rFind.Offset(0, 1).PasteSpecial xlPasteAll
'neue LastZelle Spalte B ermitteln
Set rFind = Columns(1).FindNext(After:=Range(rFind.Address))
If rFind Is Nothing Then GoTo Fehler
'Spalte D kopieren
Range("D4:D" & lz3).Copy 'oder Cut nehmen
rFind.Offset(0, 1).PasteSpecial xlPasteAll
Application.CutCopyMode = False
Exit Sub
Fehler: MsgBox "Kann Uhrzeit '00:00 - 00:15' nicht finden"
End Sub

Anzeige
AW: Daten Sortieren in Spalten und Zeilen
03.02.2017 08:39:45
Antonia
Hi Piet,
vielen Dank für deine Hilfe. Hat soweit funktioniert!
Liebe Grüße,
Antonia
bitte zu probieren
01.02.2017 17:23:44
Michael
Hi,
teste mal https://www.herber.de/bbs/user/111066.xlsm
Ich habe die zu kopierenden Spalten mal verformelt, damit man nach dem Kopieren auch sieht, ob alles da hinkommt, wo es hin soll.
Das Makro sucht zunächst mal die Spalten- und Zeilennummer zusammen und fängt dann erst das Kopieren an.
Das Ergebnis der Aktion wird dabei ins Blatt "Ergebnis" geschrieben, damit Du hinterher auch weißt, ob alles kopiert werden konnte.
Konnte es nämlich nicht, weil Du einmal "Tag1" und einmal "Tag 1" (mit Leerzeichen) schreibst - wenn Du richtige Datumsangaben reinsetzt, dürfte das reibungslos funktionieren.
Schöne Grüße,
Michael
Anzeige
AW: bitte zu probieren
03.02.2017 08:34:20
Antonia
Hi Michael,
Super, danke für deine Hilfe!!! Habe auch die Schreibfehler ausgebessert.
Grüße,
Antonia

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige