Az „Excel” fórum célja, hogy keretet adjon az Excel felhasználók széles táborának tapasztalataik megosztására, és lehetőséget a segítséget kérőknek. Az alábbi összefoglaló azért készült, hogy segítse a helyes kérdésfeltevést.
– Írd le szabatosan a problémát. Úgy fogalmazz, hogy ne csak te magad, de a szakértő is megértse, mire szeretnél választ kapni.
– Írd le, hogy milyen verziójú Excellel dolgozol. (Vagy ha nem – ill. nem csak – Excel, akkor micsoda?)
– Írd le, hogy milyen úton indultál el, és hol akadtál el rajta.
– A kérdés megértése szempontjából sokat segíthet, ha feltölteszt egy képet, amin látszik, hogy mit szeretnél, vagy illusztrálja azt.
– Még jobb, ha feltöltesz egy minta munkafüzetet valahová (pl. data.hu). Feltöltés előtt távolítsd el belőle a nem publikus adatokat.
– Ha a feladat jellege olyan, célszerű az "előtte" és "utána" állapotokat bemutatni. (Miből kellene csinálni mit?)
– Ha VBA kódon kell javítani, másold be a releváns kódrészt. Rövid kód mehet hozzászólásba, hosszú kód inkább ide: http://pastebin.com/
– Ha valami nem úgy működik, ahogy kellene, add meg a rendellenes viselkedés jellemzőit, a hibaüzenetet, és a hibát okozó programsort.
Van egy külső forrásból származó adatbázisom, amelynek az "A" oszlopában dátum formátumú adatok vannak az alábbiak szerint:
2019.05.31 00:00:00
stb.
Az időt jelentő "00:00:00" karaktereket szeretném eltávolítani, természetesen úgy hogy a dátum formátuma az oszlopnak megmaradjon!
Próbálkoztam a =BAL(A1;10) függvénnyel, DE! csak a dátum általános formátumát (43616) adja eredményül, amit nem tudok vissza alakítani dátummá.....gondolom, mivel ezek a függvények szöveg formátummal dolgoznak...
Makacs a Spreadsheet, írhatok bele tartományt, de az mind ugyanazt a cellát figyeli. Ha csak egy logikai függvényt adok neki, azt rendesen átszámozza, ha másolom, vagy húzom, de a Conditional formattig belsejébe már nem lát bele az átszámozógép.
Kattints az Érvényesség mezőbe, töröld ki, ami benne van, majd az A oszlopon húzd végig az egeret, kijelölve a szükséges tartományt. Vagy állj fölé, és kattints az "A" -ra a fejlécben, vagy írd be az Érvényesség mezőbe, hogy $A:$A. Utána OK, vagy Alkalmaz.
Spreadsheetben nem tudom. Excelben nem kell semmit lefelé húzni. Megadod a szabályt $B1="Kacsa", majd a szabály szerkesztésénél kijelölöd az érvényességi területet az A oszlop fölé kattintva. Eredménye: $A:$A
A vagy függvény pedig - ha nem Excelről lenne szó - akkor =B2="Kacsa" OR B2="Liba" lenne, de az Excelben a következő kell: =VAGY($B1="Kacsa";$B1="Liba")
Azt szeretém ha pirosra festené a cellát, ha a szomszéd cella értéke "Kacsa". Ez még megy, A2 cella, Conditional formatting: =B2="Kacsa", és pirosra festi.
Ami nem megy, hogy bárhogy próbálom ezt ezer cellán lefele másolni, a B2 mindig B2 marad, nem lesz belőle B3.
Azt is szeretném, hogy piros legyen, ha a B2 értéke Kacsa vagy Liba, de a =B2="Kacsa" OR "Liba" vagy a =B2="Kacsa" OR =B2="Liba", mind hibát jelez.
Az egyesített cellák zárolását a MergeArea használatával tudod legegyszerűbben megoldani, pl. Range("A97").MergeArea.Locked=True zárolja az A97-tel egyesített valamennyi cellát.
Az egyesítésben levő, ezért nem látszó cellák sajnos üresnek minősülnek. :(
Az egyesítés tényét pedig a Merge tulajdonság mutatja.
Tehát van egy nagyon összetett tábla, egyesített cellák is vannak benne. A nyitási makró:
- feloldja a védelmet
- kijelöli az új védendőket:
-- két adott cellatartomány, ahol nincsenek egyesített cellák
-- összes üres cellát, tehát amiben nincs adat még
- és visszazár
Viszont valamiért az egyesítetteket nem zárja le. Feltételezem, hogy kijelöli üresként, tehát abban lehet a kulcs, ezért nem lesz védett. A leírtak szerint ellenőriztem a védett cellákat (zöldre formáztam) és jól látszik, hogy a 97-98-as dupla sor dátumát és sorszámát nem védi le.
"Azt meg lehet oldani valahogy, hogy egymás mögé beillesszem őket egy cellába?" Az & jellel próbáltad? Ha A1, A2 és A3-ban vannak az összefűzendők, akkor az =A1 & A2 & A3 képletnek is működnie kell.
Persze a Jimmy által javasolt ÖSSZEFŰZ függvény is ugyanezt az eredményt kell, hogy adja.
Tegyük fel, hogy van egy valamilyen szövegem például MC_K|('Szamolas[0]').
Ezt a szöveget mondjuk beírom az A1-es mezőbe, utána rákattintva a jobb alsó sarkot lehúzva azt várnám, hogy a 0-ás számot folyamatosan növeli, de csak azt. tehát MC_K|('Szamolas[1]') aztán MC_K|('Szamolas[2]') és így tovább.
De sajnos nem növeli a számot. Tudna ebben valaki segíteni, hogy érhetem ezt el ?
Illetve lenne még egy dolog. Van néhány decimális számom amit visszakonvertáltam a Char parancs segítségével. De a baj az hogy, amikor visszafejtettem az ascii karaktereket, onnantól fogva nem tudom egyesíteni őket, hogy egy értelmes szót kapjak. Azt meg lehet oldani valahogy, hogy egymás mögé beillesszem őket egy cellába?
Többféle setuppal ellenőriztem, és a képlet jó, függetlenül az értékek darabszámától és elrendezésétől. Ha nálad nem működik, annak több oka is lehet, de ezt innen nem tudom megmondani, csak ha feltöltesz valahová egy mintát.
Pedig a képlet jól működik, ha mindig négy üres sor(cella) van az értékes adatok között. Egyébként az információ, amit adtál egy icipicit ellentmondó. Az egyik munkalapon A11 cellában van az érték, a másiknál pedig azt írod, hogy az A10 cellából szeretnéd megkapni.
Ez így van, mert aki nem dolgozik, ne is egyék, és akkor nem morzsázzák össze a billentyűzetet.
Szerintem az van, hogy Simonyi Charlie barátunk annak idején nem csoportmunkaszoftvert tervezett, hanem egyszemélyes használatú irodai programokat, aztán ezeket megpróbálták olyan funkciókkal ellátni, amik az eredeti tervből kilógtak, de úgy, hogy a korábbi képüket és tudásukat is megőrizzék.
Kb. mintha egy kis Polskiból akarnál építeni egy családi egyterűt, ami egyben lakókocsi is, de vezetéstechnika és parkolás szempontjából felülről kompatibilis az eredetivel. Inkább tippelnék arra, hogy nem fog maradéktalanul sikerülni.
Nem dolgozom túl gyakran megosztott munkafüzetekkel, ezért a finomságokat nem tudom. Gondolom, a szinkronizációs problémák elkerülése érdekében le van tiltva egy csomó funkció. (Mer az hogy nézne ki, hogy A user ír a Munka1 celláiba, miközben B user törli a Munka1-et.) Annyi viszont bizonyos, hogy megosztott munkafüzetről nem lehet levenni a lapvédelmet, se feltenni rá, makróval sem. Így a larallaral által leírt makró az első műveletnél hibaüzenettel leállna. Hacsak nem egy hibakezelő rész fedi el a dolgot...
Ez nekem is feltűnt. Nem lehet, hogy meg van osztva az a munkafüzet? Mert a megosztott táblázatban az Excel nem dolgozik rendesen az egyesített cellákkal. Pl. egyesíteni és felosztani sem lehet, talán levédeni sem, és akkor ezt a makró sem végzi el. Lehet, hogy fel kell oldani a megosztást arra az időre. Ehhez hasonlóval szenvedtem itt évekkel ezelőtt, és a topikosok segítségével hoztam össze egy megosztott makrós táblázatot, ami aztán az Office365-re való átálláskor romlott el. :-(