Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
17.04.12, 19:58
|
#1
|
Downloader
Registriert seit: Jun 2010
Beiträge: 19
Bedankt: 13
|
Excel - Namen automatisch sortieren.
Hi,
ich hoffe das ist hier in der richtigen Subkategorie.^^
ich brauche dringend für ein "Notenprogramm" (Informatik, Schule ) die Funktion, dass sich die Namen automatisch nach dem Alphabet sortieren - inklusive der Angaben in den Zellen rechts daneben. Dies soll endlos lang gehen, also egal wo der Lehrer später was reinschreibt - es muss immer sortieren. Auch wenn es seeehr weit unten ist.
Außerdem:
Wie kann ich eine Tabelle endlos lang färben und bestimmte Zellen endlos lang schützen?
Antworten wären lieb. Danke.
Grüße
|
|
|
17.04.12, 20:06
|
#2
|
Chuck Norris sein Vater
Registriert seit: Sep 2010
Ort: 6 Feet Under
Beiträge: 7.584
Bedankt: 5.694
|
Zitat:
Hi,
ich hoffe das ist hier in der richtigen Subkategorie.^^
|
Nö, biste nicht! Excel ist eine Software und kein Betriebssystem!
|
|
|
17.04.12, 20:18
|
#3
|
Downloader
Registriert seit: Jun 2010
Beiträge: 19
Bedankt: 13
|
Sorry. Aber danke fürs Schieben! :3
|
|
|
18.04.12, 11:10
|
#4
|
Agnostiker
Registriert seit: Dec 2009
Beiträge: 4.438
Bedankt: 4.856
|
Hi...
also der folgende Code funktioniert erst ab Excel 2007. Er ist natürlich auch sehr vereinfacht und sortiert nach "JEDER" Eingabe das gesamte Tabellenblatt nach Spalte A.
Private Sub Worksheet_Change(ByVal Target As Range)
Cells.Select
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("A:A" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("A:XFD")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Färben kannst du komplette Spalten oder Zeilen, wenn du ganz einfach die gewünschten Spalten oder Zeilen markierst und die gewünschte Farbe auswählst...
Bei allen Zellen, die NICHT geschützt werden sollen, musst du bei "Zellen formatieren"-"Schutz" den Haken bei "Gesperrt" herausnehmen. Dann Menü "Überprüfen" und "Blatt schützen"
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
|
|
|
18.04.12, 13:34
|
#5
|
Downloader
Registriert seit: Jun 2010
Beiträge: 19
Bedankt: 13
|
Hi,
also sortiert werden soll nur ab Spalte E und Zeile 7. (d.h. zb E8,E9,E10 usw.) Die Angaben rechts daneben sollen mitsortiert werden. Wie bewirk ich das?
Danke fürs Färben und Schützen. Hat mir sehr geholfen!
|
|
|
18.04.12, 14:13
|
#6
|
Agnostiker
Registriert seit: Dec 2009
Beiträge: 4.438
Bedankt: 4.856
|
Hi...
das würde dann so aussehen..
Private Sub Worksheet_Change(ByVal Target As Range)
Cells.Select
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("E7:E1048576" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("E7:XFD1048576")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Allerdings muss ich dazu sagen, dass das nicht wirklich praktisch ist. Denn hier wird wirklich nach jeder Eingabe sortiert... besser wäre es irgendwo einen commandbutton einzufügen und den code dort hinein zukopieren. wenn alle eingaben gemacht sind auf den button klicken und gut...
Edit: Nochmal hi...
oder du machst es so... dann MUSS aber nach der Eingabe in Spalte E unbedingt ENTER gedrückt werden, sonst funktioniert das nicht...
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Column=6 And ActiveCell.Row>6 Then
Dim myname
myname = ActiveCell.Value
Range("E7:E1048576").Select
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("E7:E1048576" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("E7:XFD1048576")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("E7:E1048576").Find(What:=myname, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Select
End If
End Sub
hier wird jetzt nur sortiert, wenn in spalte E ab zeile 7 Änderungen vorgenommen.... aber wie gesagt... funktioniert nur mit ENTER
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
|
|
|
18.04.12, 14:41
|
#7
|
Downloader
Registriert seit: Jun 2010
Beiträge: 19
Bedankt: 13
|
Jep. Vielen Dank. Hab jetzt nen Button eingefügt. Ich meld mich falls ich noch Hilfe brauch.
|
|
|
18.04.12, 14:42
|
#8
|
Agnostiker
Registriert seit: Dec 2009
Beiträge: 4.438
Bedankt: 4.856
|
hi...
probier meine Änderung im Post hiervor... klappt eigentlich gut...
für den button wäre es...
Private Sub CommandButton1_Click()
Range("E7:E1048576").Select
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("E7:E1048576" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("E7:XFD1048576")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
es muss natürlich auch commandbutton1 sein...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
|
|
|
19.04.12, 13:37
|
#9
|
Downloader
Registriert seit: Jun 2010
Beiträge: 19
Bedankt: 13
|
Hi.
Ich bin jetzt momentan im unterricht - und bei excel 2010 geht der button nicht.
Excel versucht zwar zu sortieren, hängt sich aber direkt auf und gibt keine Rückmeldung. Weißt du worans liegt?
UND: Wie kann ich denn endlos lang die Spalte ab E7 sortieren?
|
|
|
19.04.12, 17:53
|
#10
|
Agnostiker
Registriert seit: Dec 2009
Beiträge: 4.438
Bedankt: 4.856
|
hi....
hmmmm... kann ich dir nicht genau sagen... versuch mal diesen code...
Private Sub CommandButton1_Click()
Range("E7:XFD1048576").Select
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("E7:E1048576" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("E7:XFD1048576")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
oder poste mal deinen code.... vielleicht irgendeine leertaste oder end sub zu viel... keine ahnung...
und zu endlos... ab excel 2007 hat excel 1048576 zeilen und 16384 spalten (also Spalte XFD).... endloser geht es nicht...
EDIT: hab es bei mir getestet... läuft... hast du vielleicht mehrere codes laufen oder noch den entwurfmodus aktiv?
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
|
|
|
19.04.12, 19:11
|
#11
|
Downloader
Registriert seit: Jun 2010
Beiträge: 19
Bedankt: 13
|
@eitch
Ja, ich hab mehrere Buttons programmiert. Aber ich kann mir irgendwie nicht recht vorstellen, dass es daran liegt. Ich test morgen in der Schule ob es bei uns geht.
|
|
|
19.04.12, 19:50
|
#12
|
Agnostiker
Registriert seit: Dec 2009
Beiträge: 4.438
Bedankt: 4.856
|
hi...
du kannst natürlich viele buttons programmieren, aber jeder darf natürlich nur einmal programmiert werden... vielleicht löst auch der button ein anderes ereignis aus...
egal... poste mal den ganzen code des tabellenblattes...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
|
|
|
20.04.12, 21:49
|
#13
|
Downloader
Registriert seit: Jun 2010
Beiträge: 19
Bedankt: 13
|
|
|
|
21.04.12, 09:31
|
#14
|
Agnostiker
Registriert seit: Dec 2009
Beiträge: 4.438
Bedankt: 4.856
|
Hi...
also der Code für commanbutton2 ist korrekt... ist denn commandbuttond2 auch der richtige button auf dem arbeitsblatt? oder heißt der button dort vielleicht anders?
im menü ENTWICKLERTOOLS den ENTWURFSMODUS aktivieren und doppelklick auf den button...
Noch ein kleiner Tipp... Zelle E7 markieren... im menü ANSICHT auf FENSTER FIXIEREN... jetzt scrollt nur noch die Liste und Überschriften bleiben immer sichtbar... die Buttons auch am Besten oberhalb oder links der Fixierung anlegen, damit sie immer anklickbar sind...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
|
|
|
21.04.12, 10:29
|
#15
|
Downloader
Registriert seit: Jun 2010
Beiträge: 19
Bedankt: 13
|
Hi,
also auf dem Arbeitsblatt hab ich den CommandButton umgenannt. Bei Name steht zwar noch CommandButton2 bei Caption aber Alphabetisch sortieren!
Danke für den Tipp.
|
|
|
21.04.12, 10:48
|
#16
|
Agnostiker
Registriert seit: Dec 2009
Beiträge: 4.438
Bedankt: 4.856
|
Hi...
hmmmm... das ist eigentlich ok so...
verstehe nicht wirklich, warum das nicht funktioniert... vielleicht kann excel bei dir den zeilenumbruch nicht interpretieren...
mach hieraus...
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("E7:E1048576" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
mal das...
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("E7:E1048576), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
also das muss dann ALLES in EINER zeile stehen... ohne den unterstrich...
EDIT: habe dir eine persönliche nachricht geschickt...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 Uhr.
().
|