Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Für fehlende Tage Zeilen einfügen





Frage

Hallo Bin Neuling was VBA angeht, darum diese Frage. Beim Googlen leider nicht fündig geworden. In meiner Spalte A mit Datum fehlen Tage davor und danach um das Jahr voll zu machen. z.b die Datums vom 1.2.2008 bis 30.11.2008 sind vorhanden, jedoch für den Januar fehlen die 31 Zeilen und die Tage ebenso für den Dezember. Wie kann ich durch ein Marco die fehlenden Tage ermitteln und dafür Zeilen und Datum einfügen lassen. Datumsbeginn ist variabel. Eventueller zusatz Datenreihe mit lücken. Für eine Lösung bedanke ich mich im voraus. Mfg Hubert der Solardatenauswerter

Antwort 1 von Saarbauer

Hallo,

muss du unbedingt ein Makro haben?


Du könntest auch in der vorhandenen Tabelle 31 Zeilen ( oder auch mehr) ab 1.2.08 markieren unf dann über Zeilen einfügen den entsprechenden Platz schaffen, anschliessend die ersten paar Zeilen vom Februar markieren und nach oben ziehen. Jetzt überflüssige Zeilen löschen.

Für den Zeitraum bis Jahresende gleiche Prozedur am Tabellenende

Sonst sind etwas genauere Angaben zum Tabellenaufbau erforderlich oder Beispiel

Gruß

Helmut

Antwort 2 von Wetterigel

Hallo Helmut

Danke für deine Antwort.
Händisch wie vorgeschlagen habe ich es bisher gemacht und habe auch kein Problem damit.
Möchte in Zukunft diese Arbeit mir abnehmen lassen von einem Makro.
In die Exceltabelle werden Daten aus einer Solaranlage öffters eingelesen die danach ausgewertet werden.
Die Tabelle besteht aus 10 Spalten die verschiedene Werte enthalten.
In Spalte A steht immer das Datum. Die Datenreihe beginnt aber nie mit dem 1.1.2008 und endet auch nicht mit dem 31.12.2008.
Dies wird aber für meine weitere Auswertungstabell aber so benötigt.
Für jeden Tag im Jahr eine Zeile.

Gruß Hubert

Antwort 3 von Saarbauer

Hallo,

versuch es mal hiermit

Sub Datum()
    Zeilen = Range("A2").Value - DateSerial(Year(Range("A2").Value), 1, 1) + 1
    If Zeilen > 1 Then
        Rows("2:" & Zeilen).Select
        Selection.Insert Shift:=xlDown
        Range("A" & Zeilen + 1 & ":A" & Zeilen + 2).Select
        Selection.AutoFill Destination:=Range("A2:A" & Zeilen + 2), Type:=xlFillDefault
    End If
    Letzte_Zeile = Range("A65536").End(xlUp).Row + 1
    Zeilen = DateSerial(Year(Range("A2").Value), 12, 31) - DateSerial(Year(Range("A2").Value), 1, 1) + 2
    If Zeilen > Letzte_Zeile Then
        Range("A" & Letzte_Zeile - 2 & ":A" & Letzte_Zeile - 1).Select
        Selection.AutoFill Destination:=Range("A" & Letzte_Zeile - 2 & ":A" & Zeilen), Type:=xlFillDefault
    End If
End Sub


ich gehe davon aus, dass du das Makro einpflegen kannst

Gruß

Helmut

Antwort 4 von Wetterigel

Hallo Helmut,

danke für dein Makro. Es funktioniert toll.

Nochmals Vielen Dank

Mfg Hubert

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: