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
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 -
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...
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...
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
> 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