Registriert seit: 23.09.2021
Version(en): 365
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)...
Registriert seit: 11.12.2022
Version(en): 365 / 2021
21.12.2022, 01:24
(Dieser Beitrag wurde zuletzt bearbeitet: 21.12.2022, 01:26 von DIZA.)
(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
---------------
- 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:1 Nutzer sagt Danke an DIZA für diesen Beitrag 28
• ibu
Registriert seit: 23.01.2019
Version(en): MS365 macOS Sequoia
(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