Hirdetés

2024. március 28., csütörtök

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

(#48301) zsolti_20


zsolti_20
senior tag

Sziasztok!

Segítséget szeretnék kérni excel formulával kapcsolatban. VBA scripttel lehet könnyebb lenne a megoldás, de most sajnos nem használhatok ilyesmit.

Véleményetek szerint milyen formulás megoldással lehetne a legkönnyebben kivitelezni a sorszámozást?

Az "A" oszlopban ismétlődő karakterek vannak, de nincs megszabott sorrendjük. A "B" oszlopban megszeretném sorszámozni, hogy hányadjára ismétlődik az adott érték.

Csatolok egy képet hogy kicsit érthetőbb legyen, magyarázni annyira nem tudok :C
[link]

(#48302) Fferi50 válasza zsolti_20 (#48301) üzenetére


Fferi50
őstag

Szia!
Ha így sorba vannak rendezve a számok, akkor:
B1 cellába írd be '001 (aposztróf 001) ezt szövegként fogja kezelni az Excel.
B2 cella képlete:
=HA(A2=A1;SZÖVEG(ÉRTÉK(B1)+1;"00#");"001")
Ez a képlet húzható lefelé.
Üdv.

(#48303) Fire/SOUL/CD válasza zsolti_20 (#48301) üzenetére


Fire/SOUL/CD
félisten

1. B oszlopot kijelölöd, cellaformázás, egyéni 000
2. B1-be -> =DARABTELI($A$1:$A1;A1) és végigmásolod

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)

(#48304) zsolti_20 válasza Fferi50 (#48302) üzenetére


zsolti_20
senior tag

Szia,

Köszi szépen a válaszod. Sajnos ezek az értékek teljesen össze vissza lehetnek. De elképzelhető, hogy filterre sorba tudom rendezni és akkor egymás után lesznek.

Szerk.
Köszönöm szépen a formulát, kipróbáltam és a filteres rendezés után tökéletes. :R

Fire/SOUL/CD:

Köszönöm szépen, a megoldásod. Hihetetlen mennyire profik vagytok. :C

[ Szerkesztve ]

(#48305) Hunter2


Hunter2
addikt

Egy kis segítség kellene, van egy csv fájl ami pontos vesszővel van tagolva . megnyitom ecxelben (2007, 2010) módosítok rajta , mentek és miután újra meg akarom nyitni a pontos vesszők nincsenek a fájlban hanem tabulátorra cserélni. amit nem kezel le rendesen tehát az egész fájl egybe van fosva,
Miért csinálja ezt? hogy lehet ezt kikapcsolni?

[ Szerkesztve ]

(#48306) Fferi50 válasza Hunter2 (#48305) üzenetére


Fferi50
őstag

Szia!
Szerintem próbáld meg a mentés másként - CSV pontosvesszővel tagolt fájlként.
Üdv.

(#48307) Pakliman válasza oke (#48299) üzenetére


Pakliman
tag

Szia!

Te írtad, hogy esetleg makróval is... Ezért küldtem olyan megoldást. Bár ezt a feladatot makró nélkül nem lehet elvégezni.
Azt hittem, hogy legalább alapszinten ismered :F

Az AC oszlop tartalmát és az alapján a G és H kitöltését ez végzi:
If feltétel = True Then
Cells(sor, "G") = "beírandó..."
Cells(sor, "H") = "beírandó..."
End If

Egy "konkrét" példa:
If Cells(sor, "AC") = "cica" Then
Cells(sor, "G") = "ragadozó"
Cells(sor, "H") = "nyávog"
End If

Ezt annyiszor illeszted be a kódba, ahány féle feltétel van.
DE!!!!!!!!!
Ha nem minden esetben ugyanazok a keresendő adatok vannak az AC oszlopban, hanem lehet pl. cica, macska, macsek, cirmi stb, amit ugyan annak kell "értelmezni" a keresésben, akkor már sokkal komplikáltabb a dolog.
Az sem mindegy, hogy az AC oszlopban maga a keresendő adat található (pl.: cica),
vagy a cellán belül valahol előfordul (pl.: A cica felmászott a fára. -> Ez esetben a feltételvizsgálat
If Cells(sor, "AC") Like "*cica*" Then).
Mivel nem írtál példákat az AC oszlop lehetséges tartalmára és a G, H oszlopba beírandóra sem, ezért jelenleg csak ennyit tudok segíteni :(
Ha ki akarod küszöbölni a manuális szűréseket, akkor fel kell kötni a gatyát és ismerkedni a VBA-val. :DD
Ha írsz konkrétumokat, segítek :))

[ Szerkesztve ]

(#48308) oke válasza Pakliman (#48307) üzenetére


oke
senior tag

Szia,

Köszi a segítséget, hát igen, hadilábon állok a makróval, néhányban volt részem, a fórum hathatós segítségével :)
Az AC oszlopban szótöredékekre keresek, cellán belül kell keresni, mert több érték, szó is lehet benne, de szerencsére nincs több jelentésük.
Példa az AC oszlop tartalmára:
2.sor: cica, alma, körte, körteleves
3.sor: cica
4.sor: alma, körteleves, hógolyó
5.sor: autó, autómárka, foci labda, cica, alma

Tehát:
- ha előszór rászűrök a "*körte*" részletre az AC oszlopban akkor 2. és a 4. sor kerül kiválasztásra, mert azokba szerepel a "*körte*" szó vagy szórészlet és beírom melléjük a G oszlopba mondjuk, hogy gyümölcs, és a H oszlopba, hogy finom.
- összesen két sor maradt így, azután rászűrök a következőre szórészletre az "-alma*"-ra, akkor a 4. sor jelölődik ki és itt is kitöltöm a a G és H oszlopot valamivel és marad a 3. sor. És így tovább.

Remélem így érthető a folyamat :)
Egyszerűbb megoldás lehet az, ha egy külön táblázatba összeszedném a feltételeket és a hozzájuk tartozó G és H oszlop értékeit és arra hivatkozna a makró?

[ Szerkesztve ]

(#48309) Pakliman válasza oke (#48308) üzenetére


Pakliman
tag

"Alakula molekula" :C
A következő javaslatom lett volna a keresendő/beírandó lista egy külön táblázatba, de őszintén, nem mertem ajánlani, mert túl-túl kezdőnek látszottál az előzőek alapján. Így viszont már más a felállás :DD

Sub Fut()
'A főtáblára vonatkozó deklarációk:
Dim usF As Long
Dim sorF As Long
Dim elsősor As Long

'Főtábla utolsó sorának meghatározása
usF = Columns("AC").Rows(Rows.Count).End(xlUp).Row

'A keresendőket tartalmazó táblára vonatkozó deklarációk:
Dim wsK As Worksheet 'a hosszú "elnevezést" lecseréljük majd egy rövidre...
Dim usK As Long
Dim sorK As Long

'Az egyszerűség kedvéért úgy vesszük, hogy a MUNKAFÜZET már nyitva van,
'a neve Csere.xlsm, a keresendők listája a Keresendők nevű munkalapon van...
'A keresendő kifejezések az A oszlopban, a G-be írandók a B, a H-ba írandók pedig a C oszlopban vannak
'Feltételezzük, hogy az első sor fejléc...
'A keresendőket tartalmazó tábla utolsó sorának meghatározása...
Set wsK = Workbooks("Csere.xlsm").Worksheets("Keresendők")
usK = wsK.Columns("A").Rows(Rows.Count).End(xlUp).Row


elsősor = 2 'nem tudom, Nálad melyik sorban kezdődik:(
For sorF = elsősor To usF
'Csak akkor vizsgálódunk, ha a sorban a G és H oszlopban sincs még semmi...
If (Cells(sorF, "G") & Cells(sorF, "H")) = "" Then
'Feltétel(ek) vizsgálata...
'Sok feltételt vizsgálunk 1 cellában...
For sorK = 2 To usK
If Cells(sorF, "AC") Like "*" & wsK.Cells(sorK, "A") & "*" Then
Cells(sorF, "G") = wsK.Cells(sorK, "B")
Cells(sorF, "H") = wsK.Cells(sorK, "C")

'Mivel volt találat és a G és H oszlop ki van töltve,
'ezért a többi lehetőséget már nem vizsgáljuk!!
Exit For
End If
Next sorK
End If
Next sorF

End Sub

(#48310) syIex


syIex
veterán

Sziasztok!
Azt szeretném kérdezni, hogy esetleg Excelben van arra lehetőség, hogy színt váltson az egyik sor vagy valahogyan jelezzen, ha egy bizonyos dátumot elért?
Tehát adott lenne egy zöld kocka ami teszem fel 2022.05.30-án pirosra kellene magától váltosan. Ezt valahogyan meg lehet makrózni? :F :R

Me, I always tell the truth. Even when I lie!

(#48311) lappy


lappy
őstag

van egy halom adatom amik valahogy így néznek ki
darabszám- típusszám- megnevezés
hogyan tudom kigyűjteni hogy az egyes típusszámból összesen mennyi van? összesítve szeretném látni

Bámulatos hol tart már a tudomány!

(#48312) Delila_1 válasza lappy (#48311) üzenetére


Delila_1
Topikgazda

A típusszám oszlopról egy másolat, ismétlődések eltávolítása, majd darabteli függvény.

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

(#48313) Pakliman válasza syIex (#48310) üzenetére


Pakliman
tag

Szia!

Feltételes formázás is szóba jöhet:

Esetleg a "=MA()" helyére mehet egy konkrét dátum: =DÁTUM(2022;1;26)

[ Szerkesztve ]

(#48314) Hunter2 válasza Fferi50 (#48306) üzenetére


Hunter2
addikt

csv két kétféleképpen tudom menteni, CSV DOS illetve CSV MAC , egyiksem támogatja az ékezetes karaktereket.

(#48315) Fire/SOUL/CD válasza syIex (#48310) üzenetére


Fire/SOUL/CD
félisten

Kijelölöd a területet -> Feltételes formázás/Új szabály
Képlete: =$A1<DÁTUMÉRTÉK("2022.02.01")
A szabály (2022.02.01. előtti dátumhoz tartozó sorokat színezi)

[ 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)

(#48316) Fferi50 válasza Hunter2 (#48314) üzenetére


Fferi50
őstag

Szia!
Szerintem ilyen is van:

Üdv.

[ Szerkesztve ]

(#48317) syIex válasza Pakliman (#48313) üzenetére


syIex
veterán

Ha jól értem, akkor így megfelelő?
Tehát azon a dátumon át fog váltani pirosra ahol most zöld? :)
+#48315 :R

Azoknál a kijelölt oszlopoknál amelyikre rá tettem tehát most pl =$F$3:$F$11?

[ Szerkesztve ]

Me, I always tell the truth. Even when I lie!

(#48318) Pakliman válasza syIex (#48317) üzenetére


Pakliman
tag

"Azoknál a kijelölt oszlopoknál amelyikre rá tettem tehát most pl =$F$3:$F$11?"
Pontosítsunk egy kicsit: celláknál a helyes :D

Igen, ha az adott cella értéke megegyezik a feltétellel, akkor átszíneződik.
Feltéve, ha... A vizsgált cella tartalma tényleg dátum... Úgy látom, angol Excelt használsz, ezért a DÁTUM() függvény angol megfelelőjét kell használnod.

[ Szerkesztve ]

(#48319) syIex válasza Pakliman (#48318) üzenetére


syIex
veterán

Igen arra gondoltam. :DDD
Köszönöm, nagy segítség volt! :R

Me, I always tell the truth. Even when I lie!

(#48320) Fire/SOUL/CD válasza syIex (#48317) üzenetére


Fire/SOUL/CD
félisten

1. Most akkor döntsd el, hogy egész sort kell színezni (korábban ezt írtad) avagy csak a dátumokat tartalmazó oszlopok celláit? (Más képlet kell egyik ill. másik esetben)
2. Azt azért nem ártana megemlíteni a kérdésedkor, hogy Angol Excel-t használsz, mert ott az Angol függvénynevekkel lehet operálni, nem pedig Magyarral (DÁTUMÉRTÉK az DATEVALUE esetedben) :B

[ 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)

(#48321) syIex válasza Fire/SOUL/CD (#48320) üzenetére


syIex
veterán

My bad. :B
Igen angol az office és csak cellákat akarok át színezni amiket a képet szemléltettem.
Ahol most DÁTUM van akkor azt íjram át DATE-re?
Tehát így kell kinéznie:

Így az a cella amiben a dátum van és most zöld, piros lesz? :) Vagy ez csak akkor változna, ha a cellában lévőt át írom és máshogy kellene ezt kivitelezni?

[ Szerkesztve ]

Me, I always tell the truth. Even when I lie!

(#48322) Fire/SOUL/CD válasza syIex (#48321) üzenetére


Fire/SOUL/CD
félisten

Oksa, akkor Pakliman megoldását használd, és igen, a DÁTUM függvény Angol megfelelője a DATE.

Csak arra is ügyelj, hogy az Angol funkciók/függvények esetén nem pontosvesszővel vannak elválasztva a paraméterek, hanem vesszővel...

A képeden hibás a képlet, ez: =DATE(2022;6;30)
Helyesen: =DATE(2022,6,30)

[ 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)

(#48323) syIex válasza Fire/SOUL/CD (#48322) üzenetére


syIex
veterán

Igazából azt akarom, hogy mindig azt a napot nézze ami éppen van és csak akkor váltson amikor a dátumot elérte szóval Cell Value <= TODAY () lett a megfelelő nekem és így le próbálva működik is! :K

De lett egy másik gondom is. Vannak linkelések is az excelben viszont le kell védenem az egész worksheetet, hogy csak nézni lehessen teljes mértékben és amint le védem nem tudja megnyitni őket. :F
Ezt hogyan tudom át hidalni?
A védésnél, ha bepipálom, hogy Edit Scenarios és a többi minden marad üresen úgy működnie kell (nyilván a select és unselect kivételével)?

[ Szerkesztve ]

Me, I always tell the truth. Even when I lie!

(#48324) Lasersailing


Lasersailing
senior tag

Sziasztok,

Van egy makróm, ami elég sokáig fut. Futtató gép képességétől függően 3-5 percig.

Próbálnám kicsit felgyorsítani (képernyőkikapcs megvolt), a keresés gyorsításával (eddig "brute force"-t használtam, azaz soronként mentem, míg meg nem találtam, most bináris keresést alkalmazok /remélem így hívják: rendezett állományt mindig felezem és ha kisebbet keresek, akkor a második felét vetem el, ha nagyobbat, akkor az első felét a listának).

Ezt még tesztelem, de közben azt látom, hogy a task manager szerint a CPU kihasználtság 25-35% között ugrál. Tudok azért tenni valamit, hogy elmenjünk 100%-ig? (egyáltalán mennyire megbízható a task manager százaléka? elvileg lenne még szabad kapacitása (~50%)

(#48325) Lasersailing válasza Lasersailing (#48324) üzenetére


Lasersailing
senior tag

Bocsánat kicsúsztam a szerkesztési időből.

Az én gépemen futás közben így néz ki:
(i5-6300U @ 2.4 GHz 2 cores, 4 logical processors; 8GB ram)

(#48326) Fferi50 válasza Lasersailing (#48324) üzenetére


Fferi50
őstag

Szia!
Az a kérdés, a keresés milyen adatokból történik? Megpróbáltad az Excel Find funkcióját használni?
Másrészt a munkalap adatai behúzhatók memóriába (tömbbe) is, ahol minden művelet nagyságrendekkel gyorsabb, mint a munkalapról.
Tippeket igazán csak a konkrét feladat ismeretében lehet adni szerintem.
Ha gondolod, privátban írd meg egy mintával egyetemben.
Üdv.
Ps. Nem feltétlenül öröm a 100 % közeli proci használat. Excel számítások közben láthatod az állapotsoron a használatot.

[ Szerkesztve ]

(#48327) Lasersailing válasza Fferi50 (#48326) üzenetére


Lasersailing
senior tag

szia,
Find-dal nem próbáltam (igazából nem is ismerem)

Van egy adatbázis ami a termékeink összetevőit tartalmazza:
- A oszlop melyik cikkszám készül,
- B oszlop melyik cikkszámból,
- C oszlop mennyi kell belőle.
Ha egy cikkszám több összetevőből áll, akkor egymás alatt sorolja fel őket. Ez 25 ezer soros excel, amit minden bent lévő megrendeléshez (~100 db) végignéz a makró, majd kiszámolja, hogy van-e hozzá alapanyag, ha nincs táblázatba jelzi, hogy mivel mikor lesz gond, de ami megszépíti (lelassítja), hogy az alapanyag is lehet, hogy összetevőkből áll, ahhoz ismét keres a 25 ezer sorban...

"Másrészt a munkalap adatai behúzhatók memóriába (tömbbe) is, ahol minden művelet nagyságrendekkel gyorsabb, mint a munkalapról."

Ha jól értem ezt a 25ezer sort kellene memóriába egy tömbbe betennem. Ennek mi a módja? (mert ha egyesével pakolom bele, az nem biztos, hogy gyorsabb lesz a végén, gondolom)

szerk:
(azért lenne cél a 100%, mert addig másra úgysem használja a gépet, aki naponta futtatja a makrót)

[ Szerkesztve ]

(#48328) Fferi50 válasza Lasersailing (#48327) üzenetére


Fferi50
őstag

Szia!
A tartomány egy művelettel memóriatömbbe tehető:
Dim tomb()
tomb=Range("A1 :  C25000").Value
Így keletkezik egy kétdimenziós tömb, 25 ezer "sorral" és 3 "oszloppal"
Érdemes azért megnézned a VBA helpben a [Range] objektum [Find] metódusát.
Üdv.
Ps. Privi ment.

(#48329) Hunter2 válasza Fferi50 (#48316) üzenetére


Hunter2
addikt

És tényleg, köszi az infót.

(#48330) Lasersailing válasza Fferi50 (#48328) üzenetére


Lasersailing
senior tag

Köszönöm, így már lement 1 perc alá a futási idő, ezzel boldog vagyok :)

(#48331) Fferi50 válasza Lasersailing (#48330) üzenetére


Fferi50
őstag

Szia!
Örülök, hogy tudtam segíteni.
Üdv.

(#48332) Fundiego


Fundiego
tag

Adott egy tábla
[link]

Létezik, hogy olyan dinamikus diagrammot lehet ebből csinálni, hogy kiválasztással tudom bekattintani hogy a bevétel hogyan változzon annak függvényében hogy a 2021-es vagy 2022-es árakat szeretném kiválasztani? akár vegyítve is. Tehát pl Motor legyen 2021-es ár, kerék meg 2022-es és így tovább.
Lehet rossz felé kapizsgálok de a szeletelőkre gondolok

[ Szerkesztve ]

(#48333) lappy válasza Fundiego (#48332) üzenetére


lappy
őstag

https://contexturesblog.com/archives/2019/08/08/excel-chart-with-dynamic-date-range/
nézd meg ezt

Bámulatos hol tart már a tudomány!

(#48334) Delila_1 válasza Fundiego (#48332) üzenetére


Delila_1
Topikgazda

A J1 és K1 cellákban érvényesítés van, ahol kiválaszthatod az árut. Több oszlopot is felvehetsz, ha egyszerre több áru bevételeire akarsz keresni.
A J2 képletét húzhatod jobbra, és le.

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

(#48335) KaliJoe


KaliJoe
csendes tag

Sziasztok,

Több kérdésem is van, próbálom röviden megfogalmazni:
1. Lehet-e wildcard karaktereket használni függvényekben, pl. a HA függvényben? Ezt feltételrendszert kellene lerövídíteni:
=HA(VAGY(B5="1-4 éves";B5="4-7 éves";ÉS(B4="Nő";VAGY(B5="7-10 éves";B5="10-14 éves";B5="14-17 éves";B5="15-18 éves");ÉS(B4="Férfi";VAGY(B5="7-11 éves";B5="11-15 éves";B5="15-18 éves"))));Segédtáblák!P9;HA(B4="Nő";HA(VAGY(B5="18-30 éves";B5="30-60 éves");Segédtáblák!P10:P24;Segédtáblák!P10:P12);HA(B4="Férfi";HA(VAGY(B5="18-30 éves";B5="30-60 éves");Segédtáblák!P29:P32;Segédtáblák!P29:P31);)))
Erre próbáltam, de nem eszi az Excel:
=HA(VAGY(B5="1-*";B5="4-*";ÉS(B4="Nő";VAGY(B5="7-*";B5="10*";B5="14-17 éves";B5="15*");ÉS(B4="F*";VAGY(B5="7-*";B5="11*";B5="15*"))));Segédtáblák!P9;HA(B4="Nő";HA(VAGY(B5="18*";B5="30*");Segédtáblák!P10:P24;Segédtáblák!P10:P12);HA(B4="F*";HA(VAGY(B5="18*";B5="30*");Segédtáblák!P29:P32;Segédtáblák!P29:P31);)))
Ha lehetséges a "*" mint ildcard karakter használata, akkor hogyan kell hasznáni, mert így nem működik. Ez az egyszerűsített összefüggés HAMIS eredményt ad:
=HA("Férfi"="F*";IGAZ;HAMIS)

Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)

(#48336) KaliJoe


KaliJoe
csendes tag

Sziasztok,

Több kérdésem is van, próbálom röviden megfogalmazni:
2. Az 1.-es kérdést tulajdonképpen azért tettem fel, mert ' Érvényesítésben' feltételektől változó listát szeretnék használni. De ott nem túl sok karakter után nem enged többet beírni. A kérfés: Lehet-e és ha ige, hogyan lehet az érvényesítésnek különböző listákat megadni, egy adott érvényesítendő cellára nézve?

Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)

(#48337) KaliJoe


KaliJoe
csendes tag

Sziasztok,
Több kérdésem is van, próbálom röviden megfogalmazni:
3. Az alábbi kis programot írtam:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Válasz_byt As Byte
If Target.Cells = Range("B4") Or Target.Cells = Range("B5") Then
If Target.Cells = Range("B4") Then
Range("B6").Select: Selection.ClearContents
Range("B5").Select: Selection.ClearContents
Válasz_byt = MsgBox("Mivel a személy nemét megváltoztattad, alaphelyzetbe (vagyis üresbe) állítottam a 'Kora' (korosztály) és a 'Módosító tényező' cella értékeit.", vbOKOnly + vbExclamation, "Kor-Módosító alaphelyzetbe")
End If
If Target.Cells = Range("B5") And Range("B6") <> Emtpy Then
Range("B6").Select: Selection.ClearContents
Válasz_byt = MsgBox("Mivel a személy korát megváltoztattad, alaphelyzetbe (vagyis üresbe) állítottam a 'Módosító tényező' cella értékét.", vbOKOnly + vbExclamation, "Módosító tényező alaphelyzetbe")
End If
Range("B2").Select
End If
End Sub

Többé kevésbé jól is működik. Azért mondom, hogy többé kevésbé, mert ha a B4 cellát változtatja meg a felhasznló, akkor meg fogja magát hívni újra, amikor a makró a B5 cella tartalmát törli, de ezt nagyjából megkerültem. Ha elegánsabb megoldást tudtok, szívesen alkalmaznám. A Munkafüzetem több Munkalapot tartalmaz, ez csak az egyikre érvényes. Az igazi kérdésem az az, hogyha makróval egy másik Munkalapról kiindulva, ezen a munkalapon - haosnlóképpen a fenti programhoz - törölni akarom a B4-B5-B6 tartalmát, akkor hogy tudom majd elkerülni az önmagát meghívó törli makró működését. Másképpen fogalmazva: programból (makróból) ki lehet kapcsolni - időlegesen, aztán vissza - egy adott munkalapon a Change esemény figyelését?

Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)

(#48338) lappy válasza KaliJoe (#48335) üzenetére


lappy
őstag

=HA("Férfi"="F*";IGAZ;HAMIS)
azért hamis mert két szöveget hasonlít össze
neked is szövegként kellene kezelni, ami szerintem még jobban megbonyolítja a függvényt.

Bámulatos hol tart már a tudomány!

(#48339) lappy válasza KaliJoe (#48336) üzenetére


lappy
őstag

indirekt függvény segítségével, ha erre gondolsz

Bámulatos hol tart már a tudomány!

(#48340) KaliJoe


KaliJoe
csendes tag

Sziasztok,
Több kérdésem is van, próbálom röviden megfogalmazni:
4. Tapasztaltátok-e már, hogy a HOL.VAN függvény "téved" a helymeghatározás során? :((
Egy Munkafüzet egyik munkalapján adatokat gyűjtök napi 7 mérésből. Ezeket az adatokat "átszívom" a Munkafüzet egy másik munkalapjára, ahol grafikuan is megjelenítem őket. 3 képletet bemutatok az érthetőség kedvéért:
=HAHIBA(INDIREKT(CÍM(HOL.VAN(F$1;'Cukor-, étel-, és energianapló'!$B$7:$B$434;1);4;4;1;"Cukor-, étel-, és energianapló");IGAZ);0)
=HAHIBA(INDIREKT(CÍM(HOL.VAN(F$1;'Cukor-, étel-, és energianapló'!$B$7:$B$434;1);5;4;1;"Cukor-, étel-, és energianapló");IGAZ);0)
=HAHIBA(INDIREKT(CÍM(HOL.VAN(F$1;'Cukor-, étel-, és energianapló'!$B$7:$B$434;1)+2;4;4;1;"Cukor-, étel-, és energianapló");IGAZ);0)
és így tovább a 7 adat átemeléséig.
Ha a forrás munkalapon a dátum megadása a 7 egymást követő sorban a következőképpen van:
1. sor: =B314+1 - rejtett, azonos háttérszín, azonos írásszín
2. sor: =B315 - rejtett, azonos háttérszín, azonos írásszín
3. sor: =B315 - rejtett, azonos háttérszín, azonos írásszín
4. sor: =B315 - a formátum itt dátumformátum és megjelenített
5. sor: =B315 - rejtett, azonos háttérszín, azonos írásszín
6. sor: =B315 - rejtett, azonos háttérszín, azonos írásszín
7. sor: =B315 - rejtett, azonos háttérszín, azonos írásszín
8. sor: =B315+1 - rejtett, azonos háttérszín, azonos írásszín, és így tovább
akkor nincs semmi probléma az adatok átemelésével. Hibátlanul működik.

Viszont, amikor meg akartam jeleníteni a hétszámot is és a napnevet is, és a 7 egymást követő sor a következőképpen alakult:
1. sor: =B111+1 - rejtett, azonos háttérszín, azonos írásszín
2. sor: =B112 - rejtett, azonos háttérszín, azonos írásszín
3. sor: =HÉT.SZÁMA(B112;2) & ". hét" - megjelenített
4. sor: =B112 - a formátum itt dátumformátum és megjelenített
5. sor: =SZÖVEG(B112;"nnnn") - megjelenített
6. sor: =B112 - rejtett, azonos háttérszín, azonos írásszín
7. sor: =B112 - rejtett, azonos háttérszín, azonos írásszín
8. sor: =B112+1 - rejtett, azonos háttérszín, azonos írásszín, és így tovább
akkor az adatok átemelése elkezdett hibás lenni. A hiba abban mutatkozott meg, hogy a HOL.VAN függvény rendre 4-5 sorral feljebbre határozta meg a keresett dátum sorát, í :( :((( gy téves adatokat emelt át. :Y :W

Érti ezt valaki? Tudjátok az okát? Hogy lehetne úgy, hogy a hét száma, és a nap neve is megjeleníthető legyen, és az adatok átemelése is hibátlanul működjön?

Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)

(#48341) Fferi50 válasza KaliJoe (#48337) üzenetére


Fferi50
őstag

Szia!
Amíg a makró fut, ki kell kapcsolnod az eseménykezelést:
Application.EnableEvents=False
A végén pedig visszakapcsolni:
Application.EnableEvents=True
Üdv.

(#48342) lappy válasza KaliJoe (#48335) üzenetére


lappy
őstag

esetleg az átvált függvény

Bámulatos hol tart már a tudomány!

(#48343) KaliJoe válasza lappy (#48339) üzenetére


KaliJoe
csendes tag

Szia Lappy,

Igen, ez a többszintű függő lista tulajdonképpen a problémám, és ezért az ajánlott megoldás nekem is megoldás :K a problémámra. Köszönöm. :DD :C

Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)

(#48344) KaliJoe válasza Fferi50 (#48341) üzenetére


KaliJoe
csendes tag

Szia Fferi50,

Köszönöm, ezt kerestem. :K Éreztem, hogy lehet ilyen makró utasítás, csak nem ismertem. :R :C

Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)

(#48345) Fferi50 válasza KaliJoe (#48335) üzenetére


Fferi50
őstag

Szia!
Lehet wildcard karaktereket használni, de alapvetően csak a kereső függvényekben.
Az ilyen típusú "osztályozást" az Fkeres függvénnyel egyszerű megcsinálni. Táblázatban felsorolod az életkor határokat és a hozzájuk tartozó kategóriákat.
Az FKERES függvény negyedik paramétere ilyenkor 1 vagy nem írod be. A táblázatban pedig emelkedő sorrendben sorolod fel a kategóriákat.
A példa HA függvényedben pedig a SZÖVEG.KERES függvényt használhatod:
=HA(HIBÁS(SZÖVEG.KERES("F";"Férfi"));HAMIS;IGAZ)
Üdv.

(#48346) KaliJoe válasza lappy (#48338) üzenetére


KaliJoe
csendes tag

Szia Lappy,

Ezt a választ nem értem. Kifejtenéd bővebben? Az idézőjelek közé helyezett karakterek :N nem szövegek? :Y

Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)

(#48347) Fferi50 válasza KaliJoe (#48340) üzenetére


Fferi50
őstag

Szia!
Valószínűleg nem azonos a keresett érték és a keresési táblázatban szereplő elemek típusa. Számot csak számban, szöveget csak szövegben tudnak a kereső függvények megtalálni.
A HAHIBA függvény pedig elnyomja a hibát.
Esetleg mutatnál rá konkrét példát, mert ehhez most nem elég jó a képzelőerőm.... (7vége közeleg :) ).
Üdv.

[ Szerkesztve ]

(#48348) Fferi50 válasza KaliJoe (#48346) üzenetére


Fferi50
őstag

Szia!
Azért HAMIS az eredmény, mert két különböző szövegre nézed, hogy egyforma-e. FÉRFI és F* nem egyenlő semmilyen formában vizsgálva.
Az összehasonlítás már a szövegek eltérő hosszán megbukik. Ilyen helyzetben nem lehet wildcard karaktert használni.
Üdv.

(#48349) KaliJoe válasza Fferi50 (#48345) üzenetére


KaliJoe
csendes tag

Szia Fferi50,

Nem ez nem az, amire nekem szükségem volt, mert ez esetben a szöveges rész rövídítése lett volna a cél... az érvényesítés számára. Viszont Lappy már megadta nnekem a 48 339-es válaszában a megoldást, úgyhogy végülis megvagyok. Azért Neked is köszönöm, hogy foglalkoztál vele. :R

Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)

(#48350) KaliJoe válasza Fferi50 (#48347) üzenetére


KaliJoe
csendes tag

Szia Fferi,

Ha valahogy el tudom küldeni a táblámat, akkor meg tudom mutatni. Egyébként, nem nagyon tudom jobban elmagyarázni. De annyi biztos, hogy Képletkiértékeléskor a hiba már fellépett a HOL.VAN függvényben, és nem azt a sort választotta ki, amit kellett volna - tudniillik - az első dátumra mutató sort. A formátum azonos volt, mert mindenhol szám (ami dátumként csak nekünk érdekes) az Excelnek mindegy, szám-szám. Amúgy meg az is érthetetlen volt a számomra, hogy miért a 100+ sor felett kezdett el tévedni, addig nem... :O

El tudom valahgy küldeni a táblámat? Tudsz/akarsz vele foglalkozni? Mármint úgy értem érdekel a probléma? Megköszönöm, ha igen.

Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)

Útvonal

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