Clever-Excel-Forum

Normale Version: Tabelle nach Tag bearbeiten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,
leider habe ich zu meinem Problem (mit Excel  Confused ) keine Lösung gefunden oder ich habe die Lösung nicht verstanden.
In meiner Spalte A steht eine Kombi aus Datum und Zeit. Diese Spalte ist immer unterschiedlich lang. Ich möchte nun diese Spalte nach dem Tag durchsuchen
und für jeden Tag ein neues Tabellenblatt aufmachen ( Name = Datum TT.MM.JJJJ). In diesem neuen Tabellenblatt sollen ein Linien Diagramm mit den Daten aus Spalte A und B für den Tag entstehen.

Wenn ihr mir dabei helfen könntet wäre das super. Ich kenne mich mit VBA leider nicht so gut aus aber ich bin bemüht.

Vielen,vielen DANK im Voraus

Gruß Peter
Hallo Peter,

mein Vorschlag:

1. Füge neben deine Datumsspalte eine Leerspalte ein, markiere die Datumsspalte und wandle den Text (kommagetrenntes Datum) mit Text ins Spalten in eine echte Datumsspalte  und eine Zeitspalte um.

2. Erstelle eine Pivottabelle; Daten in Zeilen und Top in Werte ziehen. Berichtslayout als Tabelle.

3. Mit Doppelklick auf den jeweiligen Wert des betreffenden Datums (Drilldown) öffnet sich ein neues Tabellenblatt ausschließlich mit Daten des gewünschten Tages.

4. Das gewünschte Diagramm einfügen.
Hallo Peter, du kannst das ziemlich einfach mit Power Query erschlagen... Dazu musst du nicht mal deine Originaldaten verändern... einfach weiter fortführen... (z.B. bei Import-Daten)... Einzig das (Um)Benennen des Tabellenblatts geht nicht ohne VBA...

[attachment=31574]
Hallo,
euch beiden schon mal vielen, vielen Dank für die schnellen Antworten.

Der Vorschlag den Jockel gemacht gemacht hat kommt dem was ich mir vorgestellt habe schon sehr nahe.
Ich hatte mit ein Makro vorgestellt, was alles automatisch macht. Ich denke, das ich das was im Makro passiert besser nachvollziehen kann, da ich mit Power Query noch überhaupt keine Erfahrungen habe.

Trozdem nochmal vielen Dank und vielleicht kommen ja noch ein paar Löschungsvorschläge.

VG Peter
Hallo Peter,

anbei ein Lösungsvorschlag.

So kann man es auch mit Makro machen. 

Is nur die Frage, ob es nicht händisch schneller geht.

Raoul
Hallo Raoul,
in der Datei ist kein Makro Huh 

Viele Grüße Peter
Hallo, bei meinem Vorschlag musst nur das Datum eintragen auf Aktualisieren klicken und den Tabellenreiter umbenennen... Da kann man sicher ein Makro dazu schalten, was das übernimmt. Ich bin da raus, weil VBA ist nicht so meins, aber ich finde, dass das auch nicht sonderlich viel Aufwand ist. Egal... Du wirst das wissen
Hallo Jockel,
ich habe mich jetzt mal rangemacht und deinen Vorschlag mit Makros erweitert.
Leider klappt es mit der Aktualisierung der einzelnen Arbeitsblätter nicht.
Es werden immer alle Aktualisiert und somit stehen überall die gleichen Werte drin.

Da muss ich wohl noch mehr Zeit investieren Undecided 

Aber du hast mir sehr geholfen.
Als nächstes beschäftige ich mich mit Power Query davon hatte ich nichtmal was gehört

VG Peter
Hallo Peter,

Tabellenblätter haben eine Eigenschaft EnableCalculation. Zuweilen hilft es, diese auf False zu setzen. Allerdins ist die flüchtig, d.h. sie wird nicht gespeichert und müsste beim Öffnen der Datei neu gesetzt werden.
Hi

folgender Code erstellt für jeden Tag der Liste in Spalte A ein neues Blatt mit der Grafik.

Code:
Sub Grafik()

    Dim f As Worksheet, e As Worksheet
    Set f = ActiveSheet
    With f
        Dim i As Long, j As Long
        For i = 2 To .Range("A1").CurrentRegion.Rows.Count
       
            Set e = Worksheets.Add(after:=Worksheets(Worksheets.Count))
            Dim sName As String
            sName = Left(.Cells(i, 1), 10)
            e.Name = sName
            For j = i + 1 To .Range("A1").CurrentRegion.Rows.Count
           
                If Left(.Cells(j, 1), 10) <> sName Then Exit For
               
            Next j
            With ActiveSheet.Shapes.AddChart
                .Chart.ChartType = xlLine
                .Chart.SetSourceData Source:=Range(f.Cells(i, 1), f.Cells(j - 1, 2))
            End With
            i = j
           
        Next i
    End With
End Sub

Bitte testen.

Raoul
Seiten: 1 2