Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten Top
#2
Hallo,

einfach von hinten beginnen!? Wink

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


Gehe zu:


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