Bestimmte Spalten mit Makro löschen
#1
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
Top
#2
Hallo,

einfach von hinten beginnen!? Wink

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • technoente
Top
#3
wow...  du hättest mein Gesicht sehen sollen ,
ich habe die kompliziertesten dinge ausprobiert.
ich danke dir vielmals :D
Top
#4
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 !
Top
#5
Hallo,

(21.06.2017, 14: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
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • technoente
Top
#6
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
Top
#7
Code:
Sub Spalten_löschen()
   ActiveSheet.Range("A1,C1,F1").EntireColumn.Delete
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • technoente
Top
#8
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!
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • technoente
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste