1.3k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Zusammen,
gibt es eine Möglichkeit jede 200. Spalte einer Tabelle automatisch zu löschen?
Es handelt sich hierbei um eine Tabelle mit über 3000 Spalten, so das dieses nicht mehr von Hand zu machen ist.

Danke
Guste

4 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Guste,

ich habe jetzt hier keine Version 2007 oder höher, darum ungetestet.

Option Explicit

Sub Guste()
Dim LoI As Long
Dim Loletzte As Long
Loletzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
Loletzte = Application.WorksheetFunction.RoundUp(Loletzte / 200, 0) * 200
For LoI = Loletzte To 200 Step 200
Columns(LoI).Delete Shift:=xlToLeft
Next LoI
End Sub


Gruß Hajo
0 Punkte
Beantwortet von
Also das MAkro funktioniert nicht aber ich hab ein MAkro gefunden was die Zeilen löscht vieleicht ist es einfacher es auf Spalte umzuschreiben und anstatt jede 2. jede 200. Spalte zu löschen? Weis nicht ob das mehr aufwand ist als ein neues zu schreiben

Sub JedeZweiteZeileLöschen()
n = 1: m = 1
'Zeile, Spalte (Startzelle - ev. einstellen)
Cells(n, m).Select
nende = ActiveSheet.UsedRange.Rows.Count
For i = n To nende
ActiveCell.Offset(1, 0).Select 'Zeile weiter
Selection.EntireRow.Delete 'ganze Zeile löschen
Next i
End Sub

Lg Guste
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Guste,

mein Makro macht das was im ersten Beitrag gefordert war. Ich konnte es jetzt nur mit 256 Spalten testen. Ich sehe aber keinen Grund warum es in 2007 und höher nicht gehen sollte. Testen kann ich es in 2010 erst am Abend.

Gruß Hajo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Guste,

ändere diese Zeile
For LoI = Loletzte To 200 Step -200

Gruß Hajo
...