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.
A két időpont teljesen egyező. Erre rákerestem egy ha függvénnyel is. Már csak azért is egyező, mert az elsőből hozom létre a mellékelt képen mutatom is:
Ezek mind rejtett oszlopok. Az "U" oszlopban lévő adatokat, makró segítségével másolom át és rendezem sorba (egy gomb segítségével), az "X" oszlopban. Az Y oszlopban a sorba rendezett számok közötti különbséget számolja ki percben (ezért is kell sorba rendezni), majd a kijövő perc értéket kellene fkeressel melléírni. Ezeket az értékeket fogja majd visszamásolni egy másik függvénnyel. A kitöltés jellegéből lehet, hogy adott cellák üresen maradnak, ezért is kell ilyen bonyolultan megoldani a különbség számítást. A "V" és "W" oszlopok ügyünk szempontjából irrelevánsok.
Külön munkafüzeten kipróbáltam és az 5:42 időpont és az fkeres nem volt haragban egymással. De itten igen, már hullik a hajam. Ha 5:41-et, vagy 5:43-at írok, akkor tökéletes.
Az az 5:42 biztos, hogy annyi - tehát 5:42:00? Vagy esetleg 5:42:00,18? A századmásodpercet az időformátumban nem biztos hogy látod, viszont értékké alakítva már látsz eltérést.
Ha az utolsó argumentumoz kihagyod, akkot azt "IGAZ" értéknek veszi - tehát a legközelebbi egyezést adja vissza. Ebben az esetben a [TÁBLA] tartománynak sorba rendezettnek kell lennie.
Egy (makróval) teljesen sorba rendezett oszlopban keresek. Az utolsó logikai érték, melyet igaz vagy hamisra teszünk, én hamisra állítottam be.
=FKERES(U58;$X$54:$Y$198;2;HAMIS)
Amire keresünk, azok időpontok számmá alakítva 9 számjegyig. Jó pár hónapja használtuk már, és most a 05:42 időpontnál (számmá alakítva 0,237500000) jelzett "hiányzik" hibát.
Kipróbáltam, hogy az utolsó "hamis" logikai értéket kitöröltem, és úgy megtalálta. Szerintetek ez mitől lehet?
Az a helyzet, hogy a hamis beállítás kell, mert pontos keresési értékre van szükség.
Valaki találkozott már az alábbi hibaüzenettel? Érdekelne mit jelent pontosan. "A célhelyként megadott rendszer nem rendelkezik elegendő memóriával a személyes adatok fájltulajdonságokból történő eltávolításához. A program nem tudja az összes ilyen információt eltávolítani." Előre is köszönöm a segítséget!
Legközelebb kipróbálom. Magyarul: Adatok/Külső adatok importálása/Új WEB lekérdezés.... Kösz... :-)) Habár ez valószínűleg sok (nekem érdektelen) képet, gombot is leszed...
Makroval igen. Áprilisban filóztunk is itt róla, hogy miért lassul le ciklusban, és valaki segített is. Egy-egy oldalnál nem kerestem komolyabb megoldást.
Utóbbi hetekben sokszor kellett internetről (HTML-ből) táblázatot másolni EXCEL-be, de a sima copy-paste egy mezőbe tette az egész hóbelevancot.. Ilyenkor általában bevált, hogy először sima jegyzettömbbe másoltam be a táblázat adatait és utána egy második copy-paste-tel a jegyzettömbből EXCEL-be.
(PDF esetében még nem próbáltam, ott általában a sima szövegmásolás is nehézségeket okoz)
Hogy ez a funkció hol van 2002-es excelben arról fogalmam sincs, de valahol az Option-ök között kell keresni.
Az én 2007-es excelem option-jében ez úgy szerepel, hogy: 'Automatically insert a decimal point after:' és itt lehet kiválasztani, hogy hanyadik karakter után. Alapból ez egy kettes, szóval nézz körül az Option-ök között és keress egy olyan beállítást, ahol szerepel egy kettes. Kattintsd ki ezt az opciót és elmúlik szenvedésed.
Ja, még annyit hozzá, hogy ha megnyitok egy teljesen szűz új munkafüzetet, már ott is elosztja 100-zal, akármilyen számot írok be, tehát vmi excel-beállítási probléma lehet. (2 gépem van, egyik céges másik magán, ez utóbbit ritkábban használom, és ezen van ez a problémás magyar nyelvű excel).
Sziasztok. Valaki segítsen légyszi, mert kezdek bedilizni. Elég gyakran használok Excelt, de ilyet még az életemben nem láttam. Egy adott oszlop egymás alatti celláiban különböző értékek (kilométerek) szerepelnek. A táblát kb egy éve készítettem, és azóta volt már megnyitva angol és magyar Excellel is, 2002-es Excel mind a kettő.
Az egyik cella értékét most megpróbáltam átírni 300-ról 231-re, és az Excel automatikusan átjavította 2.31-re. Már mindent végigpróbálgattam. Akármilyen cellaformázást, számformátumot, automatikus javítási beállításokat próbálok, sehogy sem jó. Beírok egy számot, és automatikusan elosztja 100-zal.
Meg tudjátok mondani, hogyan lehet megoldani, hogy ezt ne csinálja?
Az office programcsomaghoz hozzátartozik egy Digital Certificate for VBA projects nevű progi.
azzal készítsetek digitális certifitate-et a makrókhoz amiket biztonságosnak tartotok és az Excel Trust Center Settings-ében állítsátok be, hogy a digitálisan aláírt makrók futhatnak, más makrók nem.
Szeretném megkérdezni, hogy vállalati környezetben hogy kell beállítani, hogy csak az általam vagy más kolléga által írt biztonságos makrós fájlokat futtathassák a felhasználó Excel 2007 alatt. Excel 2003-nál megnyitáskor rákérdezett a makrókra, 2007-nél viszont csak akkor fut, ha a beállításoknál minden makrót engedélyezek (a többi mind tiltás), de hát ez nem egy biztonságos módszer.
If Range("X38") > 0 Then MsgBox "Az első érkezésnél NEGATÍV részmenetidő érték keletkezett! A piros színnel jelölt részmenetidőhöz tartozó időpont(ok) nem megfelelőek!", vbCritical, "HIBÁS IDŐPONT!"
If Range("Y38") > 0 Then MsgBox "Az első érkezésnél NEGATÍV menetidő érték keletkezett! A piros színnel jelölt menetidőhöz tartozó időpont(ok) nem megfelelőek!", vbCritical, "HIBÁS IDŐPONT!"
A fenti szövegek egy-egy sorban vannak. Azt szeretném, ha a 2. mondat ("A piros színnel" kezdődő mondat) egy újabb msgbox-ban jelenne meg (miután az előzőt leokéztam). - Ha egy sorba írom, külön msgbox-ként, akkor hibát jelez - Ha simán alá írom, akkor bár megjelenik, de a hibás cella törlésekor újra feladja a 2. msgbox-ot.
Private Sub Worksheet_Change(ByVal Target As Range) If Cells(4,3) > 0 then Msgbox ("A C5:C15 tartomány legalább egy cellája mínuszba került") If Cells(5,3) > 0 then Msgbox ("A D5:D15 tartomány legalább egy cellája mínuszba került")
End sub
Ha nincs Else ág, a feltétellel egy sorba írva a Then ágat nincs szükség End If-re.
Abba még tudnátok segíteni, hogy az msgbox szövege dinamikus legyen?
Tehát, ne a tartomány nevét írja ki (ahol a hiba), hanem, ha a J46-ban van szöveg, akkor azt. Ha azonban a J46 üres, akkor a J47-ben lévő (egyébként) fix szöveget.
Igen, a tartományokat mindenképpen külön akartam vizsgálni.
Bár tovább gondolva az előjel függvényre sincsen szükség.
a C4-be ezt írom =DARABTELI(C5:C15;"<0")
a makró meg így nézne ki
Private Sub Worksheet_Change(ByVal Target As Range) If Cells(4,3) > 0 then Msgbox ("A C5:C15 tartomány legalább egy cellája mínuszba került") End if End sub
Köszönöm Nektek a segítséget, az együttgondolkodást :-)