Kezdőoldal » Számítástechnika » Programok » Meg lehet oldani azt excelben,...

Meg lehet oldani azt excelben, hogy azonnal frissítse a sorba rendezést, ha az egyik értéket, ami szerint rendezve van megváltoztatom?

Figyelt kérdés

Pl van ez a táblázat(,ami most nem tartalmaz oszlopfejlécet).:

A 2

B 3

C 1


Ha ezt rendezem a második oszlop szerint növekvőbe:

C 1

A 2

B 3


De én ha átírom mondjuk A értékét 4-re, akkor újra rendezni kell, ha azt akarom, hogy sorba legyen, de én azt szeretném, hogy az érték átírásával automatikusan rendezze. Ez lehetséges?



2014. jún. 26. 22:27
 1/4 anonim ***** válasza:

Meg lehet oldani, de bele kell piszkálni a programozós részébe. Röviden leírom, és próbálkozz:

- excelbe nyomsz egy ALT+F11-et, ekkor bejön a VisualBasic felület

- itt bal oldalon 2x katt a munkafüzeted nevére, ekkor bejön egy üres lap

- az üres lapra másold be ezt:


Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next

If Not Intersect(Target, Range("B:B")) Is Nothing Then

Range("B1").Sort Key1:=Range("B2"), _

Order1:=xlAscending, Header:=xlYes, _

OrderCustom:=1, MatchCase:=False, _

Orientation:=xlTopToBottom

End If

End Sub


- jobb fent X-el bezárod a VisualBasic ablakot, és kész is vagy


Ez a kód azt csinálja, hogy ha változást észlel a munkafüzeten, akkor a B oszlopot növekvő sorba rendezi (természetesen kibővített rendezéssel).


Ha módosítani akarod, és más oszlopot szeretnél, akkor értelemszerűen ahol B van, azt átírod másra.

2014. jún. 29. 01:04
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Igen működik! Bár egy kicsit át kellett hozzá alakítanom a táblázatomat. Hálásan köszönöm! Még annyit, hogy én a nagyobb értékkel akarom kezdeni. Azt sikerült megcsinálnom, hogy két sorba rendezést is frissítsen egy munkalapon :D Sajnos angolul nem nagyon tudok és a makróhoz sem értek, bár érdekel a téma.
2014. jún. 30. 19:52
 3/4 anonim ***** válasza:

Én se értek nagyon a makrókhoz, csak programoztam már, és így egyszerűbb a dolgom :D

Ha csökkenő sorrendbe akarod tenni, abban az esetben így fog kinézni a kód:


Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next

If Not Intersect(Target, Range("B:B")) Is Nothing Then

Range("B1").Sort Key1:=Range("B2"), _

Order1:=xlDescending, Header:=xlNo, _

OrderCustom:=1, MatchCase:=False, _

Orientation:=xlTopToBottom

End If

End Sub


Annyi változott, hogy az Ascending (=növekvő) át lett írva Descending (=csökkenő)re, és a Header étékét módosítottam xlNo-ra, hogy az 1. sort is rendezze, ne nézze fejlécnek.

2014. júl. 1. 14:50
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Köszönöm! Próbálkoztam én is, de nekem nem sikerült. :D Nem baj, ha az első sort fejlécnek nézi, de köszönöm, legközelebb már fogom tudni, hogy ha nincs fejléc, hogy csináljam! Még egyszer nagyon köszönöm!
2014. júl. 1. 17:25

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!