Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Spaltenbereiche sortieren

VBA Spaltenbereiche sortieren
11.05.2015 19:44:47
Spenski

Hallo.
kann mir evtl jemand bei meinem Problem helfen, das währe sehr nett.
Ich möchte das jede Spalte im Tabellenblatt "Kostenstellen" für sich Sortiert wird. Also A2:A21 ; B2:B21 ... T2:T21
-Sortierung soll Aufsteigend erfolgen
-Das Tabellenblatt "Kostenstellen" soll einen Blattschutz bekommen und nur der Bereich A2:T21 soll anwählbar sein. (Ka ob das eine rolle spielt)
-Sortiert werden soll, wenn Tabellenblatt "Meldungen" ausgewählt wird.
BSP-Datei:
https://www.herber.de/bbs/user/97582.xlsx
Danke fürs lesen
Christian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Spaltenbereiche sortieren
11.05.2015 20:20:22
Daniel
Hi
Frage 1
sortieren jede Spalte einzeln aufsteigend:
dim Col as Range
for each Col In Range("A2:T21").columns
Col.sort Key1:=Col.Cells(1, 1), order1:=xlascendig, header:=xlno
next
Frage 2
wie meinst du das mit dem Blattschutz:
Zelbereich A2:T21 soll anwählbar und vor Änderungen geschützt sein, der ausserhalb liegende Bereich darf nicht angewählt werden?
Frage 3
dann muss der code zum Sortieren ins Modul des Tabellenblatts "Meldungen" in das makro
Private Sub Worksheet_Activate()

Gruß Daniel

Anzeige
AW: VBA Spaltenbereiche sortieren
11.05.2015 20:52:31
Spenski
hallo Daniel, danke für deine antwort.
also zu frage 2 : das war nur eine Anmerkung das das tabellenblatt einen blattschutz bekommt. hätte ja sein können das es das makro betrifft.
Irgendwie bekomm ichs net hin, habe immer einen Laufzeitfehler 1004
hier nochmal die originaldatei
https://www.herber.de/bbs/user/97583.xlsm
danke fürs lesen
christian

AW: VBA Spaltenbereiche sortieren
11.05.2015 22:01:20
Daniel
Hi
Da fehlt ein n beim xlAscending
nuzte beim Eingeben des Code die Intellisense, dh drücke bei den Schlüsselwörtern nach Eingabe der ersten Buchstaben ALT+LEER, dann wird das Wort automatsich vervollständigt oder du erhälst eine Auswahlliste mit den Wörtern die an dieser Stelle möglich sind.
desweitern ist es nicht sinnvoll, das Blatt auf dem du Sortieren willst, zu selektieren.
du musst auch nicht selektieren, es reicht wenn du
For each Col in Sheets("Kostenstellen").Range("A2:T21").Column
schreibst, dann kannst du das Blatt "Meldung" aktiv lassen.
kleiner Tip noch: verwende Option Explicit.
Gruß Daniel

Anzeige
AW: VBA Spaltenbereiche sortieren
11.05.2015 23:07:00
Spenski
Hallo Daniel
hab jetzt folgenden code in tabelle1(Meldung):
Option Explicit
Private Sub Worksheet_Activate()
Dim Col As Range
For Each Col In Sheets("Kostenstellen").Range("A2:T21").Column
Col.Sort Key1:=Col.Cells(1, 1), order1:=xlAscending, Header:=xlNo
Next
End Sub

Bekomme aber jetzt Laufzeitfehler 424 wenn ich in das Tabellenblatt Meldung wechsel
gruss
christian

AW: VBA Spaltenbereiche sortieren
12.05.2015 11:09:20
Daniel
Hi
muss heissen
For Each Col In Sheets("Kostenstellen").Range("A2:T21").Columns
Columns sind alle Spalten des Bereichs, Column ist nur die Spaltennummer.
Gruß Daniel

Anzeige
AW: VBA Spaltenbereiche sortieren
12.05.2015 17:22:12
Spenski
super danke jetzt funktioniert es :D
gruss
christian

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige