Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1664to1668
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalten anordnen

Spalten anordnen
11.01.2019 13:26:07
Filip
Hallo,
ich möchte alle Spalten löschen, außer drei Spalten mit spezieller Überschrift. Diese drei Spalten sollen im Tabellenblatt bei A, B und C angeordnet werden.
Wie ist das möglich?
Gruß Filip

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten anordnen
11.01.2019 14:01:50
UweD
Hallo
so?
Sub Spalten_weg()
    Dim LC As Integer, Z1 As Integer, i As Integer
    
    Z1 = 1 'Zeile mit Überschrift 
    LC = Cells(Z1, Columns.Count).End(xlToLeft).Column 'letzte Spalte einer Zeile 

    For i = LC To 1 Step -1
        Select Case Cells(Z1, i)
            Case "Ja", "Yes", "CCC"    ' Die 3 die Übrig bleiben sollen 
                'mach nichts 
            Case Else
                Columns(i).Delete xlLeft
        End Select
    Next
End Sub

LG UweD
Anzeige
AW: Spalten anordnen
11.01.2019 14:19:02
Filip
Hallo UweD,
Genau so. Vielen Dank!
Gruß Filip
gern geschehen owT
11.01.2019 14:36:33
UweD
AW: gern geschehen owT
14.01.2019 10:05:03
Filip
Hallo,
eine Frage dann doch noch.
Ich möchte die 3 Spalten in einer bestimmten Reihenfolge haben.
Wie funktioniert das?
Danke & Grüße
Filip
AW: gern geschehen owT
14.01.2019 12:11:46
UweD
Hallo nochmal
dann so?
Die gewüschten Überschriften werden im Array eingetragen. Dabei auch die späterer Reihenfolge dort berücksichtigen.
Sub Spalten_weg()
    Dim LC As Integer, Z1 As Integer, i As Integer
    Dim RF(), Bl, Sp As Integer
    
    '####Vorgaben 
    RF = Array("Ja", "Yes", "CCC", "h") 'Reihenfolge 
    Z1 = 1 'Zeile mit Überschrift 
    '###### 
    
    LC = Cells(Z1, Columns.Count).End(xlToLeft).Column 'letzte Spalte einer Zeile 

    For i = LC To 1 Step -1
        Select Case True
            Case Cells(Z1, i) <> "" And InStr(Join(RF, "#"), Cells(Z1, i)) > 0
                'mach nichts 
                
            Case Else
                Columns(i).Delete xlLeft
            
        End Select
    Next
    
    'Sortieren nach der Arrayreihenfolge 
    For Bl = Ubound(RF) To Lbound(RF) Step -1
        If WorksheetFunction.CountIf(Rows(Z1), RF(Bl)) > 0 Then ' falls eine Überschrift im Array, aber trotzdem nicht vorhanden ist 
            Sp = WorksheetFunction.Match(RF(Bl), Rows(Z1), 0) 'Spalte finden 
        
            'immer als Erste Spalte festlegen 
            If Sp <> 1 Then
                Columns(Sp).Cut
                Columns(1).Insert Shift:=xlToRight
            End If
        End If
    Next
End Sub
 

LG UweD
Anzeige
AW: gern geschehen owT
14.01.2019 16:03:54
Filip
Hallo UweD,
genau so, Danke!
Gruß Filip
Prima! Danke für die Rückmeldung. owT
14.01.2019 16:09:46
UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige