906 Aufrufe
Gefragt in Tabellenkalkulation von jelena Experte (1.1k Punkte)
Guten Tag, es sollen Leere Spalten aus manuell markiertem Bereich ausblendet werden, z.B. ich markiere den Bereich von C3:O33, sollte in Spalte D3:D33 kein wert enthalten sein (nur Formeln) so soll diese Spalte über mein erstelltes Formularsteuerelement ausgeblendet werden. Danke

25 Antworten

0 Punkte
Beantwortet von beverly_ Experte (3.6k Punkte)
Hi Jelena,

du meinst, beim Einblenden der Zeilen, also im Else-Teil des Codes, soll die 1. ausgeblendete Zeile nicht mit eingeblendet werden? Das heißt aber, dass beim nächsten Selektieren und nachfolgendem Ausblenden bereits 1 andere Zeile ausgeblendet war, die dann beim Wiedereinblenden ebenfalls ausgeblendet bleiben soll usw., sodass dann immer mehr Zeilen ausgeblendet bleiben? Oder wie ist das Ganze zu verstehen?

Bis später, Karin
0 Punkte
Beantwortet von jelena Experte (1.1k Punkte)
Hallo Karin, es soll immer nur die Zeile 1 ausgeblendet bleiben. Danke
0 Punkte
Beantwortet von beverly_ Experte (3.6k Punkte)
Hi Jelena,

sorry, ich verstehe leider nur Bahnhof. Du solltest mal Schritt für Schritt beschreiben was du machst und was dabei passieren soll.

Bis später, Karin
0 Punkte
Beantwortet von jelena Experte (1.1k Punkte)
Hallo Karin, es hat sich ergeben, denn ich brauche die 1. Zeile jetzt doch immer sichtbar. Vielen Dank
0 Punkte
Beantwortet von jelena Experte (1.1k Punkte)

Hallo Karin, es ist ein Problem aufgetaucht. Ich habe folgendes Makro auf einer anderen Stelle und diese Spaltenbreiten alle auf 0 gesetzt sie sind alle leer auch ohne Formeln, kann sie aber nicht löschen da manche Daten aus einer anderen Tabelle stammen.

Range("R:W,AM:AR,BH:BM,CC:CH,CX:DC,DS:DX,EN:ES,Fi:FN,GD:Gi,GY:HD,HT:HY").Select 
Selection.ColumnWidth = 0

sobald ich das Makro

Sub SpaltenZeilenAusblenden()   
    If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilter.ShowAllData   'zuerst alle Filter öffnen
    Dim intZaehler As Integer
    Dim lngZeile As Long
    ' stimmt Adresse der sichtbaren Zellen mit der Adresse aller Zellen überein - dann Ausblenden erforderlich
    If Cells.SpecialCells(xlCellTypeVisible).Address = Cells.Address Then
        For intZaehler = 1 To Selection.Rows(1).Cells.Count
            If Application.CountIf(Selection.Columns(intZaehler), "") = Selection.Rows.Count Then Selection.Columns(intZaehler).EntireColumn.Hidden = True
        Next intZaehler
        For lngZeile = Selection.Columns(1).Rows.Count To 1 Step -1
            If Application.CountIf(Selection.Rows(lngZeile), "") = Selection.Columns.Count Then Selection.Rows(lngZeile).EntireRow.Hidden = True
        Next lngZeile
    Else
        Cells.EntireColumn.Hidden = False
        Cells.EntireRow.Hidden = False
    End If
End Sub

ausführe werden die obengenannten Spaltenbreiten geöffnet, doch diese Spaltenbreiten sollten auf 0 also ausgeblendet bleiben. Bitte um Hilfe und ein vollständiges Makro. Danke

...