> Hallo Excel-Experten,
> ich erhalte aus einem Fremdverfahren eine Excel-Tabelle mit ca 100
> Spalten.
> In der 1. Zeile stehen die jeweiligen Überschriften. Von den 100 Spalten
> benötige ich jedoch zur weiteren Verarbeitung der Informationen nur ca. 20,
> die restlichen Spalten sollen nun automatisch gelöscht werden.
> Hierfür habe ich folgenden Code geschrieben:
>
Sub Spalten_loeschen()
>
> Dim intSpalten As Integer
> Dim i
> intSpalten = Cells(1, Columns.Count).End(xlToLeft).Column
> Sheets(\"MeineTabelle\").Select
>
> For i = 1 To intSpalten
> If Cells(1, i).Value = \"AZ LJA\" Then
> Columns(i).Delete
> End If
>
> If Cells(1, i).Value = \"AZ JA\" Then
> Columns(i).Delete
> End If
>
> If Cells(1, i).Value = \"AZ TR\" Then
> Columns(i).Delete
> End If
> usw. usw. usw.
>
> Next
>
> End Sub
>
> Bei 80 zu löschenden Spalten wird dieser Code ellenlang.
> Hat jemand eine Idee, wie ich diesen Code optimieren kann?
> Bin für jeden Tipp dankbar.
> Gruß aus dem derzeit sonnigen Bergischen Land
> Toni
Hallo,
was heißt \"wird ellenlang\"? Das \"usw. usw. usw.\" steht für noch mehr Möglichkeiten?
Oder benötigst du generell nur die ersten 20 Spalten, und die anderen nicht mehr?
Dann reicht doch
Dim i As Integer
For i=Cells(1, Columns.Count).End(xlToLeft).Column to 21 Step -1
Columns(i).Delete
Next