Tabelle mit Kopfzeile: leere Spalten inkl. Kopfzeile eliminieren
#11
Zitat:Erst dachte ich, dass die vorgeschlagene Funktion FILTER alle Spalten, die nicht leer sind, auf Tabellenblatt 2 ausgeben kann.


Genau das macht die Formel....

Gib mal nur diesen Teil der Formel ein:

Code:
=FILTER(Tabelle1!$A$2:$E$20;Tabelle1!$A$1:$E$1=1;"")

Es erscheinen sehr viele Nullen... um diese nicht anzuzeigen, hatte ich die Wenn-Funktion eingesetzt... du könntest auch nur die Formel verwenden und die Nullen per Bedingte Formatierung "ausblenden"...


Zitat:Aber dagegen spricht die "0" und die "1", die Du im Ergebnis verwendest.


Der erste Teil "blendet also die Nullen aus" - die 1 wird benötigt, um die Spalten zu finden, die nicht "leer" sind (siehe Zeile 1 auf Tabelle 1)...
Antworten Top
#12
(19.12.2022, 15:48)ibu schrieb: vielen Dank für den Code.

Kann man auch bei MS365 für macOS solchen Code als Makro speichern und ausführen?

Hallo Andreas,
wie Helmut schon sagte, sollte das Makro auch unter OS laufen, da das BS nur sekundär Einfluß hat.
(Das musst du halt einfach mal versuchen)

Und natürlich könnte man den auch so abändern das er die nicht leeren Spalten auf ein 2. Tabellenblatt kopiert.
Hier stellt sich natürlich die Frage nach dem Sinn/Hintergrund. Am einfachsten wäre es in dem Fall vor dem Ausführen einfach eine Kopie
der Tabelle1 zum "bearbeiten" zu erstellen und dort die leeren Spalten löschen. Somit bliebe die eigtl. "Tabelle1" unberührt.
Code:
Sub LeereSpaltenDel()
Dim dls As Long, dlz As Long, rngBereich As Range

Sheets("Tabelle1").Copy Before:=Sheets("Tabelle1")
ActiveSheet.Name = "Tabelle1 (bearbeitet)"
   
    dlz = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    dls = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
    dsp = 0
    For sp = 1 To dls
        If Cells(Rows.Count, sp).End(xlUp).Row < 2 Then
            Columns(sp).Delete
            sp = sp - 1
        Else
        End If
        dsp = dsp + 1
        If dsp = dls Then Exit Sub
    Next sp
End Sub
Gruß Dirk
---------------
100  - Wenn du nicht weißt, wo du hin willst, ist es egal, welchen Weg du einschlägst.

[-] Folgende(r) 1 Nutzer sagt Danke an DIZA für diesen Beitrag:
  • ibu
Antworten Top
#13
(20.12.2022, 23:03)rate mit schrieb:
Code:
=FILTER(Tabelle1!$A$2:$E$20;Tabelle1!$A$1:$E$1=1;"")

Du sprichst also von meiner Tabelle aus #1?

Wenn ich dort im Blatt Tabellen2

A1=FILTER(Tabelle1!$A$2:$E$20;Tabelle1!$A$1:$E$1=1;"")

eingebe, erscheinen dort keine Daten aus Blatt Tabelle1

Ich gucke es mir später nochmal an, muss gleich los.

Unabhängig davon:
Filtern würde nur Sinn machen, wenn ich die in Blatt Tabelle2 ausgegebenen Daten auch bearbeiten kann.

Ich möchte ja eine große Kontaktdatenmenge normalisieren.
VG Andreas

--
Genutzte Version: MS Office 365 für Mac

Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste