< návrat zpět

MS Excel


Téma: Řazení pomocí VBA rss

Zaslal/a 29.10.2015 10:44

Zdravím, mám tabulku kde při změně hodnoti dochází k automatickému řazení dat del tohoto makra:
Private Sub WorkSheet_Change(ByVal Target As Range)
Range("A7:D11").Sort Key1:=Range("D7:D11"), _
order1:=xlDescending, Header:=xlNo
End Sub


Problém je v tom, že mi to vůbec neřadí. Víte v čem by mohl být problém? Může to být tím, že ve sloupci D7:D11 mám jak číslovky tak jména?

Díky MArek

Zaslat odpověď >

Strana:  1 2   další »
#027728
avatar
Vyzkoušej tento kód
Private Sub WorkSheet_Change(ByVal Target As Range)
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("D7:D11"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveSheet.Sort
.SetRange Range("A7:D11")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
citovat
#027729
avatar
Se zavedením objektu tabulka (ListObject) vznikly pro třídění oblasti buněk na listu dvě třídicí syntaxe: metoda Range.Sort pro běžnou oblast na listu (jak jste ji mínil použít) a vedle ní metoda .Apply pro ListObject.Sort. Pokud je vaše tabulka tabulkou typu ListObject, musíte použít postup, který navrhuje Dingo.citovat
#027730
avatar
Moc jsi toho nenapsal. Příloha není a teď hádejte.

Číslovky mohou být důvodem nečekaného pořadí.

Mě se nelíbí samotná událost.
a) Nemusí se spustit.
b) Může se spouštět moc často.
c) Při zadávání se mohou řádky poskakovat.

Bod a) běžně nastává, pokud se data do tabulky dostávají vzorcem.

Bod b) je snad jasný. Každá hodnoty vložená do listu spustí třídění. Nemusí to být vidět, práce se zpomaluje.

Bod c) je zase jasný. Pokud zadám do tabulky hodnotu, může mi tato hodnota někam odskočit. Alu nic proti gustu.citovat
icon #027731
eLCHa
Zdravím, mám tabulku kde při změně hodnoti dochází k automatickému řazení dat del tohoto makra.
Problém je v tom, že mi to vůbec neřadí.


;)))citovat
#027834
avatar
Do buněk dostávám data z jiných buněk, dle toho za jaké období data chci a mám tam dokonce vzorce, právě ve sloupci kde chci řadit. Vzorec mám:

=KDYŽ(L11>3;"Bez hodnocení";L11)

ani jeden z případů VBA neřadí správně, je to spíš chaotické řazení.citovat
#027884
elninoslov
Vložte sem prílohu.citovat
#027919
avatar
Ahoj, zasílám vzorový soubor ve vnitř je to trošku popsané. Děkuju předem za pomoc. MArek
Příloha: rar27919_test.rar (15kB, staženo 51x)
citovat
#027921
elninoslov
Hmm, niekoľko problémov.
1. Výška tabuliek je vždy nemenná ?
2. Funkcia RANK v Q nemôže byť takto ako to máte. Lebo ona RANKuje všetky (!) hodnoty z O. Vy až po oRANKovaní vylúčite niektoré. To je zle, veď skúste zmeniť v riadku VZA 13550 na 12550. Kde sa Vám podela oRANKovaná "3" ?
3. Na čo presne slúži tá tabuľka 2 ? Potrebujete ju mať takto ako ju máte, alebo sa dá zmeniť a použiť ako ÚPLNÝ zdroj pre tabuľku 3. Ak to musíte mať takto, tak si ako zdroj pre t3 urobte ešte jednu, ktorá bude už vypočítaná, aby ste v t3 nepoužívali vzorce, ktoré odkazujú na inú tabuľku.
4. V t3 vzorce? To asi fungovať nebude, keď vy chcete meniť hodnoty, ich poradie, ale vzorce budú čerpať dáta z iných riadkov (po "zoradení").

Podľa mňa je ten návrh nešťastný.citovat
#027925
avatar
1. Výška tabulek je neměná
2. Označila se jako Nehodnocen, protože nesplňovala podmínku větší než 13000
3. tabulka 2 slouží jako zjednoduššení tab. 1 ale připouštím, že je to asi nesmysl a zároveň tam má docházet k seřazení.
4. Možná řešení je vytvořit další tabulku i když si nejsem jistý, zda je to to nejlepší řešení, už tam bude moc tabulek.
5. Lze to nějak zjednodušit?

Děkuju.
Ten návrh mám už hodně starý a mnohokrát přepracovávaný. Data pro tab1 beru z KT, která to bere z SQL databáze.citovat
#027933
elninoslov
Radenie čisto vzorcami, bez makra. Počíta sa aj s rovnakým počtom bodov. Sú na to potrebné 3 stĺpce (oranžové). Tie Vaše ,ak sú duplicitné (napr. Body) alebo nepotrebné (napr. Kvalifikace), treba zrušiť. Čísla v dátach som trochu zmenil, aby som navodil určité situácie, tak si to vyskúšajte.
Příloha: rar27933_test-zoradenia.rar (10kB, staženo 65x)
citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje