Clever-Excel-Forum

Normale Version: Spalten mit Datumswerten löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo, wenn die Datumswerte als Datum eingegeben sind, bleibe ich dabei mit bedingter Formarierung alle Datumswerte zu markieren und "betroffene" Spalten zu löschen... ... was je nach Umfang der Datei aber dauern könnte, aber warten wir doch ab, ob und wie sich der TE noch zu diesem Thema äußert...
Hallöchen,
also, falls das jetzt jemand erwartet nur zur Information - ich wiederhole meinen Ansatz jetzt nicht nochmal. :05:
Liebes Forum,

erst einmal ein kleines sorry, dass ich erst jetzt wieder antworten kann. OFFTOPIC: Ich hatte Besuch aus Indien und habe als Touristikführer für Deutschland ausgeholfen :)


Im Beispiel sind die Spalten D, F und H jeweils vorausgehende Informationen für die nachfolgende Spalte E, G, usw. 

Ich habe circa 250 Spalten (12 Monate x22 Jahre), die ich nicht alle händisch löschen möchte. Ich suche also eine Formel oder ein VBA(ich werde mich aus Zeitgründen leider nicht ausreichend in die Thematik einarbeiten können und mache ungern Dinge von denen ich keine Ahnung habe) welches mir ermöglicht jede Spalte D, F, H,..... zu löschen. Jede Spalte D,F,H,... enthält lückenhafte Datumswerte jedoch mit identischer Formatierung im Zeitraum von Januar 1994 bis Januar 2016. 

Ob eine Lösung Ressourcen frisst ist denke ich für mich relativ trivial- ich werde das Tabellenblatt dann einfach in ein neues Tabellenblatt kopieren ( das ist das gleiche wie als Kaffeegourmet InstantKaffe von Ja! zu trinken, ich weiß ;) )

Danke für eure angeregte Diskussion und ab jetzt bin ich für schnelle Antworten und Klärungsbedarf verfügbar!

Felix
Hallo Felix,

mal zur Vergewisserung - Du weißt, dass ab D jede zweite Spalte Daten (Mz von Datum) enthält? Dann brauchen wir doch nichts zu prüfen sondern löschen einfach jede zweite Spalte, oder hab ich da jetzt was falsch verstanden?
Das geht dann übrigens nur mit einem Makro zu automatisieren.
(26.07.2016, 19:11)schauan schrieb: [ -> ]Hallo Felix,

mal zur Vergewisserung - Du weißt, dass ab D jede zweite Spalte Daten (Mz von Datum) enthält? Dann brauchen wir doch nichts zu prüfen sondern löschen einfach jede zweite Spalte, oder hab ich da jetzt was falsch verstanden?
Das geht dann übrigens nur mit einem Makro zu automatisieren.

Hallo zurück,

jede zweite Spalte enthält Datumswerte-jedoch nach circa 250 Spalten beginnen dann irgendwann Spalten mit anderen Inhalten.

Die Prüfung könnte man trotzdem umgehen indem ich diese 250 Spalten ( Datum+der dazugehörige Wert zum Datum ) herauskopiere, mit einem Makro (lösche jedes zweite Spalte) bereinige und dann wieder neu reinkopiere. Ansonsten wäre diese Prüfung erforderlich- es sei denn man gibt den Bereich, indem das Makro den VBA -Code anwenden soll, an.
Hallöchen,

mit diesem Makro löschst Du jede Spalte, in der ein Datum größer 1900 steht. Du müsstest nur die letzte Spalte anpassen, ich hab da nur 10 drin stehen ...

Code:
Sub Makro1()
'Variablendeklaration
'Integer
Dim iCnt%
'Schleife ueber alle Spalten ab Spalte J = 10 bis Spalte D = 4
For iCnt = 10 To 4 Step -1
  'Wenn in der Spalte etwas steht, dann
  If WorksheetFunction.CountA(Columns(iCnt)) Then
    'Mit der Zelle in Zeile 1
    With Cells(1, iCnt)
      'Arrayformel zur Ermittlung eines Datums groesser 1900 eintragen
      .FormulaArray = "=SUMPRODUCT(IFERROR((YEAR(R6C4:R20C4)>1990),0)*1)"
    'Wenn was gefunden, dann
    If .Value Then
      'Spalte loeschen
      Columns(iCnt).Delete
    'Wenn nicht, dann
    Else
      'Formel entfernen
      .Value = ""
    'Ende Wenn was gefunden, dann
    End If
    'Ende Mit der Zelle in Zeile 1
    End With
  'Ende Wenn in der Spalte etwas steht, dann
  End If
'Ende Schleife ueber alle Spalten bis Spalte D = 4
Next
End Sub
Seiten: 1 2