Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Automatisch sortieren

9 views
Skip to first unread message

Gerd Welzel

unread,
Jan 30, 2003, 5:54:39 AM1/30/03
to
Hallo alle,

ich habe 2 geöffnte workbooks. Mit einem button in workbook
"Bestell_Anfrage" öffne ich in workbook "Adressen" die DataForm. Nachdem ich
damit einen neuen Datensatz in workbook "Adressen" eingegeben habe, möchte
ich das worksheet in workbook "Adressen" automatisch sortieren lassen.
Aber mit
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2")
_
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom
funktioniert es nicht.

Hier mein Ansatz:
Private Sub cmdNeueAdresse_Click()
Dim wbA As Workbook
Dim wbB As Workbook
Set wbA = Workbooks("Adressbuch.xls")
Set wbB = Workbooks("Bestell_Anfrage.xls")
wbA.Worksheets("Adressen").ShowDataForm
????
wbB.Worksheets("Bestellung").Activate
Set wbA = Nothing
Set wbB = Nothing
End Sub
Für Tips und Hilfe vielen Dank.

Umgebung
win 98SE
xl9
--
Mit freundlichen Grüßen

Gerd Welzel


Thomas Ramel

unread,
Jan 30, 2003, 6:01:01 AM1/30/03
to
Grüezi Gerd

Gerd Welzel schrieb:


>
> ich habe 2 geöffnte workbooks. Mit einem button in workbook
> "Bestell_Anfrage" öffne ich in workbook "Adressen" die DataForm. Nachdem ich
> damit einen neuen Datensatz in workbook "Adressen" eingegeben habe, möchte
> ich das worksheet in workbook "Adressen" automatisch sortieren lassen.
>

> Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
> , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
> False, Orientation:=xlTopToBottom


Verwende anstelle vom 'Selection' eine Referenz auf die erste Zelle deiner
Daten. ich vermute etwa folgendes:

With wbA.Worksheets("Adressen").Range("A2")
.Sort. 'Hier die Kriteerien anhängen
.ShowDataForm
End With


--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für Microsoft-Excel -

Gerd Welzel

unread,
Jan 30, 2003, 6:24:46 AM1/30/03
to
Hallo Thomas,

habs jetzt so getestet:

wbA.Worksheets("Adressen").ShowDataForm
wbA.Worksheets("Adressen").Range("A2").Sort Key1:=Range("A2"),


Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom

aber ich erhalte Fehler 1004. Anwendungs- oder objektorientierter Fehler.

Das worksheet soll auch erst nach eingabe in die DataForm neu sortiert
werden.
Hat Du noch einen Tip?

--
Mit freundlichen Grüßen

Gerd Welzel


"Thomas Ramel" <t.r...@mvps.org> schrieb im Newsbeitrag
news:3E3905ED...@mvps.org...

Gerd Welzel

unread,
Jan 30, 2003, 7:18:32 AM1/30/03
to
Hallo Thomas,

so funktioniert es:

With wbA.Worksheets("Adressen").Range("A4")
.Sort Key1:=wbA.Worksheets("Adressen").Range("A2"), Order1:=xlAscending, _
Key2:=wbA.Worksheets("Adressen").Range("B2") _


, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom

End With

Ich mußte im ganzen "Sort code" die Referenz auf das workbook, worksheet und
den range eingeben.

Danke für Deine Hilfe.

--
Mit freundlichen Grüßen

Gerd Welzel


"Thomas Ramel" <t.r...@mvps.org> schrieb im Newsbeitrag
news:3E3905ED...@mvps.org...

Thomas Ramel

unread,
Jan 30, 2003, 7:28:00 AM1/30/03
to
Grüezi Gerd

Gerd Welzel schrieb:
>

> With wbA.Worksheets("Adressen").Range("A4")
> .Sort Key1:=wbA.Worksheets("Adressen").Range("A2"), Order1:=xlAscending, _
> Key2:=wbA.Worksheets("Adressen").Range("B2") _
> , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
> _
> False, Orientation:=xlTopToBottom
> End With
>
> Ich mußte im ganzen "Sort code" die Referenz auf das workbook, worksheet und
> den range eingeben.

Vermutlich wäre auch gegengen:

With wbA.Worksheets("Adressen")
.Range("A4").Sort Key1:=.Range("A2"), Order1:=xlAscending, _
Key2:=.Range("B2"), Order2:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Gerd Welzel

unread,
Jan 30, 2003, 7:52:36 AM1/30/03
to
Hallo Thomas,

> Vermutlich wäre auch gegengen:
>
> With wbA.Worksheets("Adressen")
> .Range("A4").Sort Key1:=.Range("A2"), Order1:=xlAscending, _
> Key2:=.Range("B2"), Order2:=xlAscending, Header:=xlGuess, _
> OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
> End With

Das hatte ich auch schon getestet, aber ohne Erfolg.

Gruß
Gerd


0 new messages