Archiv
Ansicht:   
Suche   erweiterte Suche

Nachricht aus dem Archiv

effeff schrieb am 02.June.2010, 10:41:23 in der Kategorie pc.sw.office

Excel VBA Spalten löschen

> 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

Archiv
Ansicht:   
Suche   erweiterte Suche
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz