Clever-Excel-Forum

Normale Version: Bestimmte Spalten mit Makro löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,
heute mal eine simple Frage( zumindest für euch)
Ich habe eine Excel-Datei, bei welcher ich bestimmte Spalten nicht mehr benötige ( der Übersichthalber ).
Nun will ich diese rauslöschen .
Ich habe es mit dem unten stehenden probiert, allerdings nicht zu meiner Zufriedenheit . Denn wenn ich es so ausführe, löscht er zwar Spalte "A" , aber Spalte "C" verschiebt sich somit und er löscht dann die Spalte "D" was aber nicht gewünscht ist.
Wie kann ich das umgehen, sodass nur A C F gelöscht werden?
Vielen Dank und liebe Grüße !


Code:
Sub Spalten_löschen()

ActiveSheet.Columns("A").Delete
ActiveSheet.Columns("C").Delete
ActiveSheet.Columns("F").Delete

End Sub
Hallo,

einfach von hinten beginnen!? Wink

Gruß Uwe
wow...  du hättest mein Gesicht sehen sollen ,
ich habe die kompliziertesten dinge ausprobiert.
ich danke dir vielmals :D
Ich habe noch eine Frage, undzuwar kann man es so machen , dass das Makro fest in Excel ist . D.h zb ein Shortcut .
Sodass ich dieses Makro immer zur Verfügung habe in allen Exceldateien?
Grüße !
Hallo,

(21.06.2017, 13:34)technoente schrieb: [ -> ]Ich habe noch eine Frage, undzuwar kann man es so machen , dass das Makro fest in Excel ist . D.h zb ein Shortcut .
Sodass ich dieses Makro immer zur Verfügung habe in allen Exceldateien?
Grüße !

siehe z.B. hier: Personl.xls - Die persönliche Makromappe

Das Spaltenlöschen ginge auch am Stück. Dann ist die Reihenfolge auch egal:
Sub Spalten_loeschen()
 ActiveSheet.Range("A:A,C:C,F:F").Delete
End Sub
Gruß Uwe
ich danke dir !
nun wird das ganze komplexer , ich versuche jetzt einen Arbeitsvorgang zu verkürzen :

also als erstes sollen die Zeilen gelöscht warden, so habe ich es anfangs gemacht :

Code:
ActiveSheet.Columns("L").Delete
ActiveSheet.Columns("K").Delete
ActiveSheet.Columns("J").Delete
ActiveSheet.Columns("I").Delete
ActiveSheet.Columns("H").Delete
ActiveSheet.Columns("F").Delete
ActiveSheet.Columns("E").Delete
ActiveSheet.Columns("C").Delete
ActiveSheet.Columns("A").Delete   ' Ursprungsdatein Spalten löschen


oder alternativ dein Vorschlag


 ActiveSheet.Range("A:A,C:C,F:F").Delete
Anschließend soll das ganze "runtergeschoben" warden von Zeile A5 ( dort fängt es an ) auf Zeile A7 . So auch B5, C5 , D5 ; alles auf B,C,D 7 .

Code:
ActiveSheet.rows("1:2").insert


Dann soll Zeile A7-B7 gefiltert warden :
Code:
Range("A7:D7").AutoFilter        ' Spalten A7 bis D7 filter

Nun soll Spalte A7 bis D7 blau makiert warden :

Code:
Cells(A7:D7).Interior.ColorIndex = 13        'hellblau Spalten makieren alle in A7 bis D7
Code:
Sub Spalten_löschen()
   ActiveSheet.Range("A1,C1,F1").EntireColumn.Delete
End Sub
Hi,

so?
Option Explicit

Sub Spalten_bearbeiten()
  ActiveSheet.Range("A1,C1,E1,F1,H1,I1,J1,K1,L1").EntireColumn.Delete
  ActiveSheet.Rows("1:2").Insert
  ActiveSheet.Range("A7:D7").AutoFilter        ' Spalten A bis D filtern
  ActiveSheet.Range("A7:D7").Interior.ColorIndex = 13        'hellblau Zellen markieren alle in A7 bis D7
End Sub
Wobei die 13 bei mir kein hellblau ist!