Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
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
Sortieren mit VBA
23.08.2008 15:27:29
Baywatch
Hi,
suche eine Formel in VBA
um eine TAbelle 1 zu sortieren und die Sortierte Tabelle soll in Blatt 2 eingetragen werden und wenn in TAbelle 1 neue Daten dazukommen, soll dies Automatisch geschehen, Sortiert werden, soll die Datei nach Spalte c in der die größte Zahl oben stehen soll.
Dank und GRuß
Daniel

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren mit VBA
23.08.2008 16:05:03
Daniel
Hi
dazu folgende Formel Tabelle 2 Zeile 1 eintragen und nach unten kopieren:
=KGRÖSSTE(Tabelle1!C:C;ZEILE())
mit dieser Formel holst du die Werte aus Spalte C in sortierter Reihenfolge.
die anderen Tabellenwerte kannst du dann mit dieser Formel zuweisen:
(formel ist geschrieben für Zeile 1)
=Index(Tabelle1!A:A;Vergleich($C1;Tabelle1!$C:$C;0)
grosser vorteil dieser Formellösung ist, daß sie sich automatisch aktualisiert, wenn sich in Tabelle 1 was ändert, ohne daß ein Makro laufen muss.
Gruß, Daniel
AW: Sortieren mit VBA
23.08.2008 16:10:23
Baywatch
Danke erste einmal, hie rmuß ja nur die Formel kopieren, ist es viellciht auch möglich so etwas in VBA zu schreiben, weil dann brauch ich die Länge nicht angeben, da ich nicht abschätzen kann wieviele einträge kommen?
Gruß und Dank
Daniel
Anzeige
AW: Sortieren mit VBA
23.08.2008 16:16:00
Daniel
Hi
in VBA ist es doch ganz einfach:
Sheets("Tabelle2").Cells.Clear
Sheets("Tabelle1").Usedrange.Copy Destination:=Sheets("tabelle2").Cells(1,1)
Sheet("Tabelle2").usedrange.sort Key1:=Sheets("Tabelle2").Cells(2,3), Order1:=xlascending, Header:=xlno
und fertig.
code muss halt jedesmal laufen, wenn Tabelle 1 geändert wird.
wenn die Tabelle eine Überschriftenzeile enthält, muss die Option Header:=xlyes verwendet werden
Gruß, Daniel
AW: Sortieren mit VBA
23.08.2008 16:20:00
Baywatch
Könnte ich die ein Konkretes Beispiel gebe und du Strickst mir da in VBA, weil bin nicht fit.
Das sollte auch automatisch laufen wenn in Tabelle 1 etwas eingetragen wird.
Danke dir schon einmal
Gruß
Daniel
Anzeige
AW: Sortieren mit VBA
23.08.2008 16:27:00
Daniel
Hi
dann muss folgendes Makro in das Modul der Tabelle 1

Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Tabelle2").Cells.Clear
Sheets("Tabelle1").UsedRange.Copy Destination:=Sheets("tabelle2").Cells(1, 1)
Sheets("Tabelle2").UsedRange.Sort Key1:=Sheets("Tabelle2").Cells(2, 3), Order1:=xlAscending,  _
Header:=xlNo
End Sub


Gruß, Daniel

AW: Sortieren mit VBA
23.08.2008 16:39:00
Baywatch
Und Hierbei Wird nach Spalte C sortiert?
ISt es auch möglic, danach noch ein zweites sortieren zu machen, wenn gleicher wert erscheint nach namen in Spalte B sortieren?
und was ist mit den überschriften Tabelle 1 fängt in Zeile 6 an und TAbelle 2 in 5?
Danke schon mal riesig und Gruß
Daniel
Anzeige
AW: Sortieren mit VBA
23.08.2008 16:55:00
Daniel
Hi
du kannst in einem Sortierschritt nach bis zu 3 Spalten gleichzeitig sortieren.
wie das aussieht, kannst du leicht mit dem Makrorecorder herausfinden.
wenn es mehr als eine Zeile überschrift gibt, dann muss der Überschriftenteil von der Suche ausgeschlossen werden, daß könnte dann so aussehen (bei 5 Zeilen Überschrift)
Sheets("Tabelle2").UsedRange.offset(5,0).Sort Key1:=Sheets("Tabelle2").Cells(6, 3), Order1:=xlAscending, Header:=xlno
btw. durch das Kopiern sind Tabelle1 und Tabelle2 identisch, dh. auch die Anzahl der Überschriftenzeilen ist in beiden Tabellen gleich (ausnahme wäre allerding, wenn es in Tabelle1 Leerzeilen über der eigentlichen daten gibt. diese werden nicht mitkopiert)
Gruß, Daniel
Anzeige
AW: Sortieren mit VBA
23.08.2008 17:11:00
Baywatch
Hi,
bin leider nicht ganz so fit in diesen Sachen und habe da schon eine Formel drin, daher habe ich dir ein kleines Beispiel hochgeladen, vielleicht kannst du wenn du ZEit ahst den Code dafür zusammen stellen.
Es soll erst nach Strecke, dann nach Nachname dann Vorname Sortiert werden und davor der Platz geschrieben werden. wenn zwei die gleiche Strecke haben stehen sie auf demselben Platz und danach soll kein Platz dafür ausgelassen werden wenn du verstehst, ich glaube hast schon fast alle Formel Teile hier eben geschrieben.
Wenn ich noch etwas Fragen darf, ist bestimmt ein Einzeiler. Bei der Dateneingabe, ist es da möglich, sobald in der Zeile etwas eingetrafen ist die Nr. zu vergeben?
Riesen Dank schon einmal du bist echt ein Könner.
Gruß
Daniel
Anzeige
AW: Sortieren mit VBA
23.08.2008 17:11:31
Baywatch
Hi,
bin leider nicht ganz so fit in diesen Sachen und habe da schon eine Formel drin, daher habe ich dir ein kleines Beispiel hochgeladen, vielleicht kannst du wenn du ZEit ahst den Code dafür zusammen stellen.

Die Datei https://www.herber.de/bbs/user/54842.xls wurde aus Datenschutzgründen gelöscht


Es soll erst nach Strecke, dann nach Nachname dann Vorname Sortiert werden und davor der Platz geschrieben werden. wenn zwei die gleiche Strecke haben stehen sie auf demselben Platz und danach soll kein Platz dafür ausgelassen werden wenn du verstehst, ich glaube hast schon fast alle Formel Teile hier eben geschrieben.
Wenn ich noch etwas Fragen darf, ist bestimmt ein Einzeiler. Bei der Dateneingabe, ist es da möglich, sobald in der Zeile etwas eingetrafen ist die Nr. zu vergeben?
Riesen Dank schon einmal du bist echt ein Könner.
Gruß
Daniel
Anzeige
AW: Sortieren mit VBA
23.08.2008 17:31:05
Daniel
Hi
warum kopierst du die Eingegeben Daten nochmal in eine Extra-Tabelle?
das ist doch eigentlich überfüssig.
füge in der Eingabeliste noch eine Spalte mit der Funktion =Rang() ein, und du kannst die Rang-Folge gleich direkt ablesen.
ebenso kannst du doch auch innerhalb der Eingabetabelle beliebig nach Namen oder Strecke sortieren.
Gruß, Daniel
AW: Sortieren mit VBA
23.08.2008 17:47:52
Baywatch
Das Problem ist leider, das ja immer neue Leute dazukommen ich nach den Startnummer manchmal was ändern muß und viele Leute darn sitzen die nichts kaputtmachen sollen, daher wird diese Ergebnisliste geschützt und kann nur gedruckt werden. und in der anderen Liste ändert sich dann nichts.
Diese muß ich ja auch drucken und wie du gesehen hast fällt dann ja das Geschlecht und ob eien Urkunde gedruckt wurde und so weg.
ISt da etwas amchbar?
Dank und Gruß
Daniel
Anzeige
AW: Sortieren mit VBA
24.08.2008 13:19:00
Daniel
Hi
machbar ist vieles, aber so ganz verstehe ich nicht, was du willst.
was immer du da aber auch machen willst, es ist gefährlich, sich von anderen ein Makro schreiben zu lassen, daß man nicht versteht und ggf. ändern und korriegieren kann.
Gruß, Daniel
AW: Sortieren mit VBA
24.08.2008 22:50:25
Baywatch
NAja wenn ich den Code habe verstehe ich es eigentlich immer, mein PRoblem liegt leider darin, dass ich leider nicht weiß wie man in VBA programmiert, programmieren kann ich aber nicht in VBA.
Was soll denn gefährlich dran sein?
Kannst du mir denn vielleicht das eien mal etwas helfen, weil ich diese Dumme auswertung organisieren soll.
Danke GRuß
Daniel
Anzeige
AW: Sortieren mit VBA
25.08.2008 20:47:21
Daniel
Hi
ich würde das VBA-Gedöns weglassen und nach Eingabe der Strecken die Eingabedatei sortieren und dann für die ersten 3 oder 4 der Liste ne Urkunde erstellen, das kann man im Prinzip alles per Formel erledigen.
lade eventuell nochmal ne Datei mit ein paar Beispieldatensätzen hoch.
was gefährlich ist an fremden Code?
ganz einfach, fremder Code hier aus dem Forum ist halt meistens schnell hingeschrieben und selten auf alle möglichen Eventualtäten getestet (ist meisten auch kaum möglich, da keine Realdaten zur verfügung stehen), aber auch wenn man das macht, ist es oft so, daß beim ersten Reallauf oft noch was am Code verändert oder korrigiert werden muss), und wenn du da den Code nicht im Detail kennst, hast du verdammt schlechte Karten, vorallem, wenn es schell gehem soll.
da bist du mit nem selbstgeschriebenen Code einfach im Vorteil.
Gruß, Daniel
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige