AW: ok ... Lösung für Spalten?
27.11.2017 11:20:19
Werner
Hallo Kisska,
von Daniel ist ja schon ein Lösungsvorschlag gekommen. Da ich auch schon was habe, jetzt noch meine Version. Kannst ja testen welche für deine Verhältnisse besser läuft.
Ich kopiere zunächst die 50 Spalten die übrig bleiben sollen rechts neben die bestehende Tabelle und Lösche im Anschluß den gesamten Rest.
Das sind dann 50 Kopiervorgänge und ein Löschvorgang. Also auf alle Fälle deutlich schneller als wenn du mit einer Schleife über 500 Spalten läufst und von den 500 Spalten 450 gelöscht werden. Das wären dann 450 einzelne Löschvorgänge.
Dim i As Long, j As Long
SpZ = Cells(1, Columns.Count).End(xlToLeft).Column
j = SpZ + 2
Application.ScreenUpdating = False
For i = 1 To SpZ
Select Case Cells(1, i).Value
Case "Überschrift [1]", "Überschrift [2]", "Überschrift [3]", "Überschrift [4]" _
, "Überschrift [5]", "Überschrift [6]", "Überschrift [7]", "Überschrift [8]" _
, "Überschrift [9]", "Überschrift [10]", "Überschrift [11]", "Überschrift [12]" _
, "Überschrift [13]", "Überschrift [14]", "Überschrift [15]", "Überschrift [16]" _
, "Überschrift [17]", "Überschrift [18]", "Überschrift [19]", "Überschrift [20]" _
, "Überschrift [21]", "Überschrift [22]", "Überschrift [23]", "Überschrift [24]" _
, "Überschrift [25]", "Überschrift [26]", "Überschrift [27]", "Überschrift [28]" _
, "Überschrift [29]", "Überschrift [30]", "Überschrift [31]", "Überschrift [32]" _
, "Überschrift [33]", "Überschrift [34]", "Überschrift [35]", "Überschrift [36]" _
, "Überschrift [37]", "Überschrift [38]", "Überschrift [39]", "Überschrift [40]" _
, "Überschrift [41]", "Überschrift [42]", "Überschrift [43]", "Überschrift [44]" _
, "Überschrift [45]", "Überschrift [46]", "Überschrift [47]", "Überschrift [48]" _
, "Überschrift [49]", "Überschrift [50]"
Columns(i).Copy Columns(j)
j = j + 1
Case Else
End Select
Next i
Range(Columns(1), Columns(SpZ + 1)).Delete
Application.ScreenUpdating = True
Gruß Werner