Hirdetés

2024. május 3., péntek

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.

Összefoglaló kinyitása ▼

Hozzászólások

(#7751) föccer válasza Delila_1 (#7750) üzenetére


föccer
nagyúr

:R

Építésztechnikus. Építőmérnök.

(#7752) Delila_1 válasza föccer (#7751) üzenetére


Delila_1
Topikgazda

:)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7753) föccer válasza Delila_1 (#7725) üzenetére


föccer
nagyúr

Na, most van időm jobban átnézni, hogy mi írtál.

Az a helyzet, hogy nem teljesen erre gondoltam. Az eredeti elképzelés az, hogy a van egy olyan lapom, ahol beállítom a szűrési feltételeket. Ehhez nem használok makt, hanem simán, a legördíthető is listákat. Ezután (egy másik munkalapon) megnyomok egy gombot, és voilá, töltöget nekem minden félét.

Valami ilyesmi az elképzelés:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 to 20
With ThisWorkBook.Sheets("munka2").autofilter.field(i)
if not criterial1 = "" then
cells("B", i).value = .citerial1
end if
end with
Next

End Sub

És persze a print a végére, de az már csk formaság...

Viszont valami nem kerek, mert nem akar menni... :F

i need help :)

köccke

Üdv, föccer

[ Szerkesztve ]

Építésztechnikus. Építőmérnök.

(#7754) föccer válasza föccer (#7753) üzenetére


föccer
nagyúr

Hu, már faradt vagyok. Azért ez még erősán át kellene gondolnom :)

A Cells("B",i) tuti baromság, az már bizos.

De alényerg asszem érthető. Azt szeretném, hogy egy for-ral végigszaladni az összes auto szűrőn, és ahol van beállított szűrőérték, azt berakom az alatta lévő cellára.

Amiko futtatni akartam kiírta, hogy fattal error. pls change user :)

üdv, föccer

Építésztechnikus. Építőmérnök.

(#7755) Delila_1 válasza föccer (#7754) üzenetére


Delila_1
Topikgazda

Sub filt()
Dim i As Integer

Cells(1).Select
For i = 1 To 20
Selection.AutoFilter Field:=i, Criteria1:=Sheets("Munka2").Cells(i, 2)
Next
End Sub

Munkalapon egy cella meghatározása B10, makróban felcserélődik a sor, és oszlop helyzete, cells(10,2).

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7756) Delila_1 válasza föccer (#7754) üzenetére


Delila_1
Topikgazda

Csúnya hiba, a feltételt kihagytam.

Sub filt()
Dim i As Integer

Cells(1).Select
For i = 1 To 20
If Sheets(2).Cells(i, 2) > "" Then
Selection.AutoFilter Field:=i, Criteria1:=Sheets(2).Cells(i, 2)
End If
Next
End Sub

A Munka2 lap fizikailag is második nálam, ezért a Sheets(2) hivatkozás is megfelel.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7757) WildBoarTeam


WildBoarTeam
aktív tag

Üdvözletem!

Adott egy Excel tábla. Ha nem veszem bele a fejlecet, akkor az adatok A4:E7619 tartományban vannak. (jó sok :DDD )
A oszlop (kód) és a B oszlop (címek) is összevont cellákat tartalmaz. A D oszlop ezekhez a címekhez tartozó emelet + ajtók, a C oszlop ezen helyek azonosítói. E oszlop összegeket tartalmaz (pozitív vagy negatív).
Nekem ki kell gyűjtenem azokat az azonos címen lakókat (D oszlop, mivel az emelet+ajtót nem kellene figyelni.), ahol az E oszlopban lévő összegek mind negatívak (pl.: ezek hátterét elszínezni). Itt van a példa excel állomány, ahol jelöltem zölddel mire gondolok, mert elmondani nem lehet normálisan. :) Csak ugye ezt valahogyan automatizálni szeretném.

Előre is köszönet! :R

[ Szerkesztve ]

blabla

(#7758) Delila_1 válasza WildBoarTeam (#7757) üzenetére


Delila_1
Topikgazda

A helyedben megszüntetném a B oszlop összevonásait, így minden megszüntetés felső sorába kerülne a cím. Kijelölöd a B4:Bsok tartományt, Ctrl+g (Ugrás), Irányított, Üres cellák. A kijelölés első cellája a B5 lesz. Ide beírsz egy = jelet, és megnyomod a fel nyilat, Ctrl+enter. Jó, ha ezután a teljes B oszlopra adsz egy irányított érték beillesztést.

Most már tudod alkalmazni a SZUMHA függvényt az összegzésre.

Feltételes formázással eltüntetheted a B ismétlődő elemeit (háttér színűek legyenek a karakterek).

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7759) Delila_1 válasza WildBoarTeam (#7757) üzenetére


Delila_1
Topikgazda

Most látom, hogy nem is összegezni akarod az értékeket, hanem formázni a cellákat.
Azt hiszem, ez csak makróval lehetséges. Az összevonásokat mindenesetre érdemes megszüntetni.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7760) föccer válasza Delila_1 (#7756) üzenetére


föccer
nagyúr

Runtime error '1004'

Range osztály Autofilter metódusa hibás :(

Egyébként amikor a Sheets paraméterét adom meg (hogy milyeik munkalapra akarok hivatkozni, akkor a paraméterbe "melyik nevét" kell megadni? Atulajdonságoknál van olyan, hogy (Name), értéke Munka1 és van oylan, hogy Name, értéke vezerlok (ez az általam, a munkalapnak adott megnevezés?

Köszi,

üdv, föccer

Építésztechnikus. Építőmérnök.

(#7761) föccer válasza Delila_1 (#7756) üzenetére


föccer
nagyúr

A feltételnt nem fordítva kellene? Ha az autoszűrő critériuma nagyobb mint "", akkor a cella értéke legyen a critériummal egyenlő? Így azt vizsgálja, hogy van-e valami a cellában, és ha igen, akkor a kritériumot beállítva a cella tartalmának. Nekem pont fordítva kelle...

Üdv, föccer

Építésztechnikus. Építőmérnök.

(#7762) Delila_1 válasza föccer (#7760) üzenetére


Delila_1
Topikgazda

Az Eszközök/Bővítménykezelőben kapcsold be az Analysis kezdetűeket, kapsz egy halom új függvényt a lapodon, és a makrókban is, megszűnik a hiba.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7763) WildBoarTeam válasza Delila_1 (#7758) üzenetére


WildBoarTeam
aktív tag

Így van nem összegezni akarok. :DDD
Lestem is egy nagyot erre a folyamatra, mert rögtön kínai volt. :B
Sajnos ez szerintem tényleg makrós megoldást igényel, de ehhez kevésnek érzem magam. Mivel a D oszlopban lévő címekhez kell néznem az E oszlop negatív összegeit, viszont a D oszlop címei mögött nem kellene figyelni az emelet+ajtó számokat.
Vagyis úgy kellene, hogy megnézem a D oszlopban a címet a házszámig, összehasonlítom az alatta lévővel, addig amíg ugyan az, ha eltér, akkor megnézem ezekhez a címekhez tartozó E oszlop sorait, ha mindegyik negatív, akkor a címek hátterét megváltoztatom. Na ez az amit nem tudom hogyan oldjak meg. :F

blabla

(#7764) Delila_1 válasza föccer (#7761) üzenetére


Delila_1
Topikgazda

Most ezt tudja:

Nevezd át a lapokat. Ahol a sok adatod van, legyen Lista, a másik Kritériumok.

A Lista lapon vannak 20 oszlopban az adataid. A Kritériumok lapon a B1:B20 tartományban érvényesítéssel vannak az egyes oszlopokra vonatkozó kritériumok, pl. ha a Lista!A oszlopban az almára akarsz szűrni, akkor a Kritériumok!B1 cella értéke alma; ha az Lista!E oszlopban Fótra szűrnél, akkor a Kritériumok!B5 legyen Fót.

A gombot az Űrlapvezérlők közül tedd ki a Kritériumok lapra.

Sub filt()
Dim i As Integer
Sheets("Lista").select

Cells(1).Select
For i = 1 To 20
If Sheets("Kritériumok").Cells(i, 2) > "" Then
Selection.AutoFilter Field:=i, Criteria1:=Sheets("Kritériumok").Cells(i, 2)
End If
Next
End Sub

Amennyiben nem ez a célod, írd le pontosan, mit is akarsz. Azt szeretnéd, hogy a Lista lapon egyenként beállítod a (20) szűrőt, és ezek a kézzel beállított kritériumok jelenjenek meg a Kritériumok!B1:B20 tartományában?

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7765) föccer válasza Delila_1 (#7764) üzenetére


föccer
nagyúr

Amennyiben nem ez a célod, írd le pontosan, mit is akarsz. Azt szeretnéd, hogy a Lista lapon egyenként beállítod a (20) szűrőt, és ezek a kézzel beállított kritériumok jelenjenek meg a Kritériumok!B1:B20 tartományában?

Majdnem.Az egyenként, kézzel beállított kritériumok jelenjenek meg, ugyanezen lapon azokban a cellákba, ahol az autószűrő is van. Magyarán, azt szeretném elérni, hogy úgy jelenjen meg a nyomtatásban, mintha egy érvényesítés-> listából választottam volna ki.

De lassan meg lesz a megoldás, csak még nem látom át teljesen, a szintaktikát, meg az objektumok kapcsolatát. :)

kérdés: mi a különbség a ":=" és az "=" között. Pascalban az első az értékadás, a második pediglen érték vizsgálat. De ahogy nézem, ez itt fordítva van? :F

Valamint az értékadás jobbról balra, vagy balról jobbra történi?

köszi,

üdv, föccer

mod: amit írsz kódot, még mindig a kritérium cellákat ellenőrzi, hogy üresek-e. Nekem arra lenne szükségem, hogy az autoszűrő critériumát vegye feltételnek, és ha annak van valamilyen értéke, akkor ezt az értéket kell bevinni a cella értékének. Tehát a feltételt és a műveletet kellen még megcserélni :). Jah, és mindezt persze ugyaz azon a munkalapon.

Köszi szépen.

Üdv, föccer

[ Szerkesztve ]

Építésztechnikus. Építőmérnök.

(#7766) Delila_1 válasza föccer (#7765) üzenetére


Delila_1
Topikgazda

:= a paraméter beállítása, = értékadás. Balra jön a változó, jobbra az érték.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7767) föccer


föccer
nagyúr

:O

Private Sub CommandButton1_Click()
Dim i As Integer
Dim w As Worksheet

Set w = Worksheets("Receptek")
For i = 1 To 20
w.Cells(2, i).Selected
If Selected.AutoFilter.Criteria1 > "" Then
Selected.Value = Selected.AutoFilter.Criteria1
End If
Next

End Sub

Miért nem akarja az igazságot??? Pedig annyira egyszerű utasítást akarok kiadni, hogy pascalban már 100000x megcsináltam volna... :((( Itt sem a szemantikával van a bajom, hanem az ismeretlen objektumokkal...

üdv, föccer

Excel nem ismeri az objekt pascalt?

Építésztechnikus. Építőmérnök.

(#7768) föccer válasza föccer (#7767) üzenetére


föccer
nagyúr

Következő próba:

Private Sub CommandButton1_Click()
Dim i As Integer
Dim w As Worksheet

Set w = Worksheets("Receptek")
For i = 1 To 20
w.Cells(2, i).Select
If Selected.AutoFilter.Filters > "" Then
Selected.Value = Selected.AutoFilter.Filters
End If
Next

End Sub

Azt mondja, hogy Range osztály select metódusa hibás... :F

Építésztechnikus. Építőmérnök.

(#7769) föccer válasza föccer (#7768) üzenetére


föccer
nagyúr

Private Sub CommandButton1_Click()
Dim i As Integer
Dim w As Worksheet

Set w = Worksheets("Receptek")
For i = 1 To 20
If w.Cells(2, i).AutoFilter > "" Then
Cells(2, i).Value = Selected.AutoFilter.Filters
End If
Next

End Sub

Nem spammelek, csak próbálkozom :) Hogy lásd, hogy nem csak a sültgalambot várom :)))

Köszi,

üdv, föccer

mod:

Private Sub CommandButton1_Click()
Dim i As Integer
Dim w As Worksheet

Set w = Worksheets("Receptek")
For i = 1 To 20
If w.Cells(2, i).AutoFilter > "" Then
w.Cells(2, i).Value = w.Cells(2, i).AutoFilter.Criteria1
End If
Next

End Sub

objekt required. Mindezt a w.cells(2, i).value = w. cells(2, i).autofilter.criteria1 sorra...

üdv, föccer

[ Szerkesztve ]

Építésztechnikus. Építőmérnök.

(#7770) Delila_1 válasza föccer (#7769) üzenetére


Delila_1
Topikgazda

Itt a sültgalamb – én is segítséget kértem hozzá.

Sub Filt()
Dim AF As AutoFilter, F As Filter, i As Long, usor As Long

Set AF = ActiveSheet.AutoFilter
usor = Range("A65536").End(xlUp).Row

For i = 1 To AF.Filters.Count
Set F = AF.Filters(i)
If F.On Then
Cells(1, i) = Cells(usor, i)
End If
Next
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7771) föccer válasza Delila_1 (#7770) üzenetére


föccer
nagyúr

Run-Time error '91':
Objekt variable or With block variable not set.

A hibát For i = 1 To AF.Filters.Count sorraadja.

Ha inicializálom elötte az i -t nem segít. Ha az elejére beszúrok egy sheets("Receptek").select-et, nem segít. :(

Lassan kezdem azt hinni, hogy bennem van a hiba...

Kérdés: a lent írt kódban mit akar csinálni az usor változó? Nem egészen tudom értelmeni az

usor = Range("A65536").End(xlUp).Row utasítást...

Köszi az eddigi segítséget. Nem tudom, hogy mi a rákért nem akar rendesen menni...

üdv, föccer

Építésztechnikus. Építőmérnök.

(#7772) Delila_1 válasza föccer (#7771) üzenetére


Delila_1
Topikgazda

Az usor = Range("A65536").End(xlUp).Row annak a szintaktikája, mikor állsz az A65536 cellán, és Ctrl+fel nyilat nyomsz. Az utolsó kitöltött sor értékét adja (egy a sok módszer közül).

Run-Time error: lásd a #7762-es hozzászólást, és kapcsold be a bővítményeket.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7773) föccer válasza Delila_1 (#7772) üzenetére


föccer
nagyúr

Elvileg bekapcsoltam őket. A Projekt exploreo ablakban meg is jelent egy rakás új elem. Mondjuk amikor rájuk kattintok, akkor kér valami passzwördöt, amit nem nagyon tudok hová tenni :F

üdv, föccer

Építésztechnikus. Építőmérnök.

(#7774) Delila_1 válasza föccer (#7773) üzenetére


Delila_1
Topikgazda

Nem is engednek belépni, viszont a bennük lévő makrók, függvények innen kezdve rendelkezésedre állnak.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7775) föccer válasza Delila_1 (#7774) üzenetére


föccer
nagyúr

viszont a runtime- error még mindig él, és vigyorog az arcomba...

bekapcsolok mindent, és csinálok egy restartot, hátha....

hmm, restart után nem dobott hibát....

Viszont be kelett tennem egy Sheets("Receptek").Select-et, hogy utánna helyesen fusson a Set AF = ActiveSheet.Autofilter utasítás.

No, a másik, hogy ugyan hibát nem jelez, de nem írja be nekem a megfelelő adatokat... Még nem tudom, de minden esetre legalább van egy futtatható makróm.

Köszi szépen az eddigieket is. Nagy voltál :R

Üdv, föccer

[ Szerkesztve ]

Építésztechnikus. Építőmérnök.

(#7776) Fire/SOUL/CD


Fire/SOUL/CD
félisten

Hali!

Akit érdekel esetleg
Excel 2007 VBA Reference
Excel 2003 VBA Reference

Fire.

UI: Akit az Excel-el kapcsolatban érdekel EBooks, az privben keressen meg.

[ Szerkesztve ]

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7777) Fire/SOUL/CD válasza Fire/SOUL/CD (#7776) üzenetére


Fire/SOUL/CD
félisten

Tárgytalan, elkeltek.

Fire.

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7778) föccer válasza Delila_1 (#7770) üzenetére


föccer
nagyúr

No, itt a végleges, nálam is hibátlanul futó makró :)

Sub CommandButton1_Click()
Dim AF As AutoFilter
Dim F As Filter
Dim i As Long, usor As Long, C As Long

Sheets("Receptek").Select
Set AF = ActiveSheet.AutoFilter
C = AF.Filters.Count
Range(Cells(2, 1), Cells(2, C)).Value = ""

For i = 1 To AF.Filters.Count
Set F = AF.Filters(i)
If F.On Then
Sheets("Receptek").Cells(2, i).NumberFormat = "@"
Sheets("Receptek").Cells(2, i).Value = F.Criteria1
End If
Next


End Sub

Köszi a segítséget, nélkületek nem lett volna meg. Soakt tanultam belőle. Most jön a következő feladat :)

Üdv, föccer

Építésztechnikus. Építőmérnök.

(#7779) Delila_1 válasza föccer (#7778) üzenetére


Delila_1
Topikgazda

Ezzel az a baj, hogy az eredeti táblázat 2. sorát eltünteti, ahelyett írja be a kritériumokat.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7780) Delila_1 válasza föccer (#7778) üzenetére


Delila_1
Topikgazda

Sub föccer()
Dim AF As AutoFilter
Dim F As Filter
Dim i As Long, usor As Long, C As Long

Sheets("Munka1").Select
Set AF = ActiveSheet.AutoFilter
C = AF.Filters.Count

For i = 1 To AF.Filters.Count
Set F = AF.Filters(i)
If F.On Then
Cells(1, i).NumberFormat = "@"
Cells(1, i).Value = F.Criteria1
End If
Next
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7781) Delila_1 válasza föccer (#7778) üzenetére


Delila_1
Topikgazda

A
Cells(1, i).Value = F.Criteria1 sor helyett legyen
Cells(1, i).Value = Right(F.Criteria1, Len(F.Criteria1) - 1)

Mikor már a lapra álltál [Sheets("Receptek").Select], nem kell külön megadni a lapot:

Sheets("Receptek").Cells(1, i).Value = F.Criteria1 helyett elegendő a
Cells(1, i).Value = F.Criteria1

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7782) föccer válasza Delila_1 (#7779) üzenetére


föccer
nagyúr

Nem baj az. Az eredeti tábla második sora eddig is üres cellák voltak. Egészen pontosan erre a sorra volt beállítva az autoszűrő. Így teljesen pörfekt, ha abba a sorba írom a critériumokat. Már csak azért is, mert így a nyomtatásban, az üres sorban eléggé feltünő az a néhány kitöltött cella. Így ránézésre látszik, hogy melyik oszlopok, mi szerint vannak szűrve :) És végeredményben ezt volt a cél.

üdv föccer

mod:

Mikor már a lapra álltál [Sheets("Receptek").Select], nem kell külön megadni a lapot:
Sheets("Receptek").Cells(1, i).Value = F.Criteria1 helyett elegendő a
Cells(1, i).Value = F.Criteria1

Amikor nem adtam meg neki a teljes elérést, akkor a vezérlők sheeten hajtotta végre cellatartalom beírását. Nem tudom miért, de így volt. Ezzel tutira mentem, és így szépen műxik.

üdv, föccer

[ Szerkesztve ]

Építésztechnikus. Építőmérnök.

(#7783) Delila_1 válasza föccer (#7782) üzenetére


Delila_1
Topikgazda

Az egész nekem egy kicsit sántít, hiszen az adatokból világosan látszik, melyik oszlop miszerint van szűrve. De ez nem az én dolgom. :)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7784) Delila_1 válasza föccer (#7782) üzenetére


Delila_1
Topikgazda

Ja, azt nem mondtad, hogy a vezérlő másik lapon van.
Ha a filteres lapon lenne, még a Sheets("Receptek").Select-re sem lenne szükség.

[ Szerkesztve ]

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7785) föccer válasza Delila_1 (#7783) üzenetére


föccer
nagyúr

Igen, addig látszik, amig nem 40 oszlop van egy lapra kinyomtatva 6-os betűnagysággal (85% nyomtatási nagysággal), olyan szorosra véve az oszlopokat, hogy a cellatartalmaknak így is csak az eleje látszik. Sajnos így is nagyon zsúfolt :(. És mindennek fejébe egyszerre 10-12 lappal kell majd dolgozni. Hidd el, legnagyobb gondomnak se szeretném, ha +ba azt kelljen bogarászni, hogy melyik lap éppen miről szól.

No, hamán nyomtatá:

ActiveWindow.SelectedSheets.PrintOut Copies:=1

Lehet-e valami olyat csinálni, hogy ne kapásból kinyomja a nyomtatóra, hanem jelenírse meg a nyomtatási párbeszéd ablakot? Mint Delphiben az

if printdialoge.execute then
begin

...

end
objektummal csináltam? Vagy ez is ezt csinálja? Még nem próbáltam ki, mert nem akarom fölösbe használni a festéket, meg a paprít :) Illetve figyelembe veszi-e az eredetileg beállított nyomtatási területeket, illetve az olddalbeállításokat (margók, élő fej élőláb, minden oldalon látszódó sorok beállaítása stb). Gondolo igen, csak még nem mertem kipróbálni...

Köszi,

üdv, föccer

Építésztechnikus. Építőmérnök.

(#7786) Delila_1 válasza föccer (#7785) üzenetére


Delila_1
Topikgazda

Erre írta valaki, hogy makrórögzítéssel sokmindent megnézhetsz.
Nyomtatási kép indítása:

ActiveWindow.SelectedSheets.PrintPreview

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#7787) zUlU53


zUlU53
tag

Sziasztok,

már olyan rég nem kérdeztem butaságokat, hogy éppen itt az ideje. :))

Hogy lehetne azt megoldani, hogy adott egy nominálási táblázat, amiből eltérési adatokat szeretnék gyártani.
Szép magyarosan egy példával érzékeltetném, ha sikerül: mondjuk van egy adott napon egy adatom, ami mondjuk 100. Mellette az adott napra mért adat, ami mondjuk 120. Ehhez képest szeretném, ha a mellette lévő rublikába olyan érték kerülne, hogy ez az érték a 100-hoz képest hány százalékkal tér el, lefele vagy felfele, és az igazi az lenne, ha ez 30% alatt lenne, akkor zölddel kerülne bele az eltérés, ha ezt meghaladó, akkor pirossal.
Lehet, hogy zagyvaságnak hangzik, ha nem érthető, megpróbálok még egyszer nekifutni.

Remélem tudtok segíteni, előre is köszönöm az önzetlenségeteket!

-Houston van egy kis problémánk. - Aham, és akarsz beszélni róla?

(#7788) Fire/SOUL/CD válasza zUlU53 (#7787) üzenetére


Fire/SOUL/CD
félisten

Hali!

Példádnál maradva A1->Adat(100), B1->Mért adat(120), C oszlopot százalékra formázni, akkor C1-be: =B1/A1-1
Feltételes formázással megoldható, hogy a 30%-nál kisebb/nagyobb eltérés milyen színnel legyen jelölve.

Fire.

[ Szerkesztve ]

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7789) zUlU53 válasza Fire/SOUL/CD (#7788) üzenetére


zUlU53
tag

Köszönöm, ez így tökéletes.

Ha még egy kicsit cifrázhatnám, aztán már lehet, hogy sok lesz: mit lehetne tenni az ügyben, ha valamelyik cellaérték 0? Gondolok itt arra, hogy lesz olyan, amikor a mért adat 0, vagy az előirányzott, de lehet mind a kettő is. Egyik esetbe ugye jön a zéróosztós hiba, a másik esetben a -100 százalék. Nem tudom, hogy lehetne-e olyan feltételrendszer, hogy ha az adat zéróosztós, akkor azt valami más módon jelezni lehet-e, mondjuk a két cella közti különbséget ez esetben. Bár csak ötletelek. Csak nem szeretném, ha buta zéróosztó vagy hülyeség szerepelne ott.

-Houston van egy kis problémánk. - Aham, és akarsz beszélni róla?

(#7790) Fire/SOUL/CD válasza zUlU53 (#7789) üzenetére


Fire/SOUL/CD
félisten

Hali!

Akkor C1-be: =HA(VAGY(B1=0;A1=0);"Nem megengedett érték";B1/A1-1)

Fire.

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7791) zUlU53 válasza Fire/SOUL/CD (#7790) üzenetére


zUlU53
tag

Közelítünk a tökéleteshez, köszönöm a segítségedet Fire.

A közepén, a nem megengedett érték helyére befirkantottam, hogy akkor a két cella különbsége legyen beírva, ez odáig ok is lenne, de egy %-os sorban vagyunk, azt nem lehetne elérni, hogy beírja az eltérést, de mögé biggyessze a mértékegységet (m2)? Akkor egyértelmű lenne, hogy azokban a sorokban nem százalék van, nem arányszám, hanem tényleges eltérés.

Aztán ígérem, befejeztem ennek a csavarását... :B

-Houston van egy kis problémánk. - Aham, és akarsz beszélni róla?

(#7792) föccer válasza zUlU53 (#7791) üzenetére


föccer
nagyúr

Akkor a középső részre mehet az összefűz(szöveg(érték1-érték2;"0");"mértékegység") függvény.

üdv, föccer

Építésztechnikus. Építőmérnök.

(#7793) Fire/SOUL/CD válasza zUlU53 (#7791) üzenetére


Fire/SOUL/CD
félisten

Hali!

Akkor C1-be:
=HA(VAGY(B1=0;A1=0);A1-B1 & " m2";(B1/A1-1)*100 & "%")

Nem tudom, melyikből vontad ki melyiket, de ezt módisíthatod. Ebben az esetben a C oszlopot SZÁM-ként formázd. Ennek a megoldásnak az a hátránya, hogy így nem fogsz tudni utólagos számolási feladatokat elvégezni a C oszlop adataival.

Erre az lehet a megoldás (már ha szükséged van rá), hogy a D oszlopot használjuk kvázi, mértékegységként. Ez esetben:
C1-be
=HA(VAGY(B1=0;A1=0);A1-B1;(B1/A1-1)*100)

D1-be
=HA(VAGY(B1=0;A1=0);"m2";"%")

C oszlopot jobbra, míg D oszlopot balra igazítod...

Fire.

[ Szerkesztve ]

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7794) Surfym@n


Surfym@n
senior tag

Sziasztok!

Olyan problémám van, hogy excel2007 alatt sehogy sem tudom kihasználni mind a két monitort, amivel dolgozok. Mit kell beállítani excel2007-ben, hogy pl. 2 táblázatot két külön ablakban (ezáltal külön monitoron) láthassak? Eddig ahány táblát megnyitottam, valamennyit egy "nagy ablakon" belül futtatta, s az osztott nézet is csak ezen belül valósult meg.

Másik kérdésem grafikonhoz kapcsolódó. Lehet olyat excel2007-ben készíteni, hogy ha van két különböző nagyságrendű grafikonom, akkor két külön értéktengelyt állítsak be nekik (egyik értéktengely a diagram egyik oldalán, másik a másik oldalon) az informatívabb grafikonábrázolás végett.

Segítségeteket köszönöm.

28 év és 2.8-as rekesz felett már nincs mese...

(#7795) föccer válasza Surfym@n (#7794) üzenetére


föccer
nagyúr

Én ezt 2003-ban úgy oldom meg, hogy megnyitok egy külön Excelt, amit átrakom a másik képernyőre, és abban nyitom meg az új fájlt.

Elvileg lehet. jobb klikk az második grafikonon, és a tuljadonságok menüben van egy ilyen pont, hogy második értéktengelyhez.

üdv, föccer

Építésztechnikus. Építőmérnök.

(#7796) Fire/SOUL/CD válasza Surfym@n (#7794) üzenetére


Fire/SOUL/CD
félisten

Hali!

Ahhoz, hogy két monitoron tudj így dolgozni, az kell, hogy az Excel 2007 2 példánya fusson. Alapban nem így fut, egy példányon belül nyitja meg a különböző munkafüzeteket.
Ahhoz, hogy ezt elérd (Feladatkezelőből van a kép), Excel gomb/Excel beállításai/bal oldalt Speciális/jobb oldalt Általános csoporton belül az Az egyéb DDE-alapú alkalmazások mellőzése elé tegyél pipát. Lépj ki az Excelből, majd indítsd el újra. Arra felhívnám a figyelmet, hogy ez esetben, csak úgy nyithatsz meg munkafüzetet, hogy azt az excelből betöltöd. Az a megoldás, hogy ütök egy entert egy XLS-en és elindul az excel és automatikusan megnyitja az xls-t, az nem fog működni...

Remélem segít...

Fire.

[ Szerkesztve ]

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7797) Surfym@n válasza Fire/SOUL/CD (#7796) üzenetére


Surfym@n
senior tag

Köszi, így már jó.

Diagramos kérdésemre van ötleted esetleg?

28 év és 2.8-as rekesz felett már nincs mese...

(#7798) Fire/SOUL/CD válasza Surfym@n (#7797) üzenetére


Fire/SOUL/CD
félisten

Hali!

Majd talán lesz. Fél kettőre 35kilométerrel arrébb van jelenésem, és még csak most indulok zuhanyozni, valószínű csak egy kondenzcsík fog látszani belőlem az úton. :DDD

Fire.

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7799) Surfym@n válasza Fire/SOUL/CD (#7798) üzenetére


Surfym@n
senior tag

jó szórakozást... :)
teret el ne görbítsd... :))

28 év és 2.8-as rekesz felett már nincs mese...

(#7800) perfag válasza Surfym@n (#7797) üzenetére


perfag
aktív tag

Kijelölöd az adatsort, amelyre a második tengelyt akarod rátenni.
Jobb egér, legalul: Adatsorok formázása, a párbeszédablakban Adatsor beállításai, Másodlagos tengely.

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.