-
Fototrend
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.
Új hozzászólás Aktív témák
-
Geryson
addikt
válasz Delila_1 #10401 üzenetére
Nem
Tehát ha E3=Pénztár, akkor a cella értéke "-" legyen
viszont ha nem Pénztár, akkor üres legyen! Semmi ne legyen benne! Eddig megy.Na mármost én arra gondoltam, hogy ezt olyan cellákra is ráhúznám, ahol már be van írva dátum (és nem jön létre az E3=Pénztár szabály) és konkrétan akkor szépen ki is törli üresre.
Egyetlen megoldás az lenne, hogy visszamenőleg nem alkalmazom ezt a függvényt? És a jövőben meg amikor valaki dátumot bevisz a függvény cellájába, akkor meg törli azzal a mozdulattal a függvényt (hiszen akkor már nem is kell).
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
Delila_1
Topikgazda
válasz Geryson #10402 üzenetére
=ha(e3="Pénztár";"–";"")
Úgy van, a régi, adatokat tartalmazó cellákba ne másold be a képletet.
Legfeljebb egy kis makróval lehetne megoldani az oszlop felülírását.Sub E_oszlop()
Dim sor%, usor%
usor% = Range("E5000").End(xlUp).Row
For sor% = 3 To usor%
If Cells(sor%, 5) = "Pénztár" Then Cells(sor%, 6) = "–"
Next
End SubEz a kitöltetlen sorok 6. (F) oszlopába ír a Pénztár szót tartalmazó E oszlop mellé hosszú kötjelet, a nem Pénztár-t tartalmazók melletti F cellát békén hagyja. A mostani adatokat rendbe teszi, a további cellákba érdemes beírni a fenti képletet.
[ 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.
-
félisten
válasz Geryson #10402 üzenetére
"Na mármost én arra gondoltam, hogy ezt olyan cellákra is ráhúznám, ahol már be van írva dátum..."
Felejtős történet, nem lehet kivitelezni.[ 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)
-
Geryson
addikt
válasz Fire/SOUL/CD #10405 üzenetére
Tudtam én, hogy mindenfélét kitalálok csak megoldani nem lehet...
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
félisten
-
Delila_1
Topikgazda
válasz Fire/SOUL/CD #10408 üzenetére
Az eddigieket megoldja, a további cellákba be kell írni a képletet.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Geryson
addikt
Adott egy tök egyszerű feltételes formázás:
=$N2>0
Ezt szeretném úgy átírni, hogy ha egy adott cellában van egy vagy egy másik szó plusz maga az eredeti feltétel, csak akkor alkalmazza, de sajnos nem sikerül, pedig erre gondoltam:
=ÉS($N2>0;$K2="Ft";$K2="Euro")
Mi a gondja?
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
félisten
-
Geryson
addikt
válasz Fire/SOUL/CD #10411 üzenetére
Teljesen jogos! Köszönöm, működik!
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
m.zmrzlina
senior tag
Van egy munkafüzetem amiben az egyik oszlopba kézzel gépel be útvonalakat cellánként egymás alá a júzer. Hat oszloppal arrébb a települések távolságát írja be soronként.
Szeretnék csinálni egy "adatbázis" munkafüzetet amiben szerepelne az összes útvonal amit egyszer már begépeltek (távolsággal együtt) és azt szeretném ha egy adott útvonalat begépelnek az A munkafüzetben és az a karaktersorozat szerepel a B (akár meg sem nyitott) munkafüzetben akkor a hozzá tartozó távolságot automatikusan visszaadja az A munkafüzet megfelelő cellájában.
Elsősorban nem kész megoldásokat várok hanem útmutatást, hogy merre induljak el. Nem szeretnék felesleges energiát feccölni zsákutcának bizonyuló megoldásokba.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz m.zmrzlina #10413 üzenetére
Ez egy sima fkeres.
=FKERES(A1;[MásikFüzet.xls]MunkalapNeve!$A:$F;6;0)Az A oszlop pedig =[MásikFüzet.xls]MunkalapNeve!$A1
[ 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.
-
Delila_1
Topikgazda
válasz m.zmrzlina #10413 üzenetére
Az "útvonal" megzavart. Lehet, hogy nem is arra gondolsz, amit az előbb írtam?
Mit szólsz ehhez?Csak akkor hogy értsem az F oszlopot?
Szerk.: a távolságokat ne nézd, randommal adtam meg.
[ 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.
-
m.zmrzlina
senior tag
válasz Delila_1 #10414 üzenetére
Köszi a gyors választ.
Az első része tökéletesen működik is. Az egy más kérdés, hogy az adatbázisban (másik munkafüzet) mehet egymás mellé a két oszlop ezért az FKERES két középső paramétere pl $A:$B;2 de ez csak részletkérdés.
A másik részét a válaszodnak nem értem. Vagy te értetted félre a kérdést, vagy én a választ.
Azt szeretném, hogy az adatbázis munkafüzet mondjuk üresen indul és ahogy beír az "A" munkafüzetbe a júzer egy addig a B-ben nem szereplő karaktersorozatot és beírja a hozzá tartozó távolságot (hat oszloppal arrébb) akkor ezzel kiegészíti az adatbázist amit azután az FKERES használni tud.Így az adatbázis folyamatosan "hízna" hónapról hónapra miközben az azt használó "A" munkafüzet minden hónapban nulláról indulna.
Talán érthető lesz.
-
m.zmrzlina
senior tag
válasz Delila_1 #10415 üzenetére
Az enyém így néz ki:
A felső rész A oszlopát írja a felhasználó (jelenleg a H-t is amit szeretnék kiváltani) Ez az FKERES-sel tökéletesen megy is.
Azt szeretném ha a felső munkalap "A" oszlopába ír egy útvonalat és ez még nem szerepel az alsó munkalap "A" oszlopában akkor azt a hozzá tartozó távolság adattal együtt hozzáfűzi az alsó munkalaphoz növelve ezzel az FKERES adatbázisát.
-
m.zmrzlina
senior tag
válasz m.zmrzlina #10417 üzenetére
Tegnap kicsit fáradt voltam már. Szóval:
A felső rész B oszlopát írja a felhasználó (jelenleg a H-t is amit szeretnék kiváltani) Ez az FKERES-sel tökéletesen megy is.
Azt szeretném ha a felső munkalap "B" oszlopába ír egy útvonalat és ez még nem szerepel az alsó munkalap "A" oszlopában akkor azt a hozzá tartozó távolság adattal együtt hozzáfűzi az alsó munkalaphoz növelve ezzel az FKERES adatbázisát.
-
Delila_1
Topikgazda
válasz m.zmrzlina #10418 üzenetére
Csak este tudok foglalkozni vele, ha addig nem kapsz választ, megpróbálom.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz m.zmrzlina #10418 üzenetére
A júzer által használt füzetbe, a munkalaphoz:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim utvonal, Érték, sor%
utvonal = Cells(Target.Row, 1)
Érték = Cells(Target.Row, 2)
sor% = Target.Row
If Target.Column = 1 Then
Darabteli utvonal, sor%
End If
If Target.Column = 2 Then
Beír Érték
End If
Application.EnableEvents = True
End SubSzintén abba a füzetbe, modulba:
Sub Darabteli(utvonal, sor%)
Dim ws As Object
Dim usor%
Set ws = Workbooks("A.xls").Sheets("Munka1")
usor% = ws.Range("B1").End(xlDown).Row + 1
If Application.WorksheetFunction.CountIf(ws.Range("B:B"), utvonal) = 0 Then
ws.Cells(usor%, 2) = utvonal
Else
Cells(sor%, 2) = Application.WorksheetFunction.VLookup(utvonal, ws.Columns("B:H"), 7, 0)
End If
End SubSub Beír(Érték)
Dim ws As Object
Dim usor%
Set ws = Workbooks("A.xls").Sheets("Munka1")
usor% = ws.Range("H1").End(xlDown).Row + 1
ws.Cells(usor%, 8) = Érték
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz m.zmrzlina #10421 üzenetére
Private Sub Worksheet_Change(ByVal Target As Range)
'A B.xls füzetből indulunk. A munkalaphoz rendelt eseménykezelő
'csak a saját munkalapján tud dolgozni, ezért innen indítunk
'olyan makrókat, amik nincsenek munkalaphoz rendelve.
Application.EnableEvents = False 'Eseménykezelés letiltása
Dim utvonal, Érték, sor%
sor% = Target.Row 'Adatbevitel sora
utvonal = Cells(sor%, 1) 'Az A oszlopba bevitt érték
If Target.Column = 1 Then 'Ha az A oszlopba vittél be adatot,
Darabteli utvonal, sor% 'meghívom a Darabteli makrót, átadva a 2 változót
End If
If Target.Column = 2 Then 'Ha a B oszlopba írsz értéket,
Érték = Cells(sor%, 2) 'az Érték változó vegye fel a bevitt értéket
Beír Érték 'Beír makró meghívása, az Érték változó átadásával
End If
Application.EnableEvents = True 'Eseménykezelés engedélyezése
End SubSub Darabteli(utvonal, sor%)
'Ez a makró az átvett "utvonal" változót keresi az A.xls Munka1 lapján, a B oszlopban,
'a COUNTIF (darabteli) függvénnyel. A B.xls A oszlopába történt beírás hívja meg a makrót.
Dim ws As Object, usor%
Set ws = Workbooks("A.xls").Sheets("Munka1") 'A ws változó tartalma innen kezdve az egyenlőség jobb oldala
usor% = ws.Range("B1").End(xlDown).Row + 1 'Első üres sor a ws.B oszlopában
If Application.WorksheetFunction.CountIf(ws.Range("B:B"), utvonal) = 0 Then
'Ha a B.xls A oszlopába beírt "utvonal" nem található az A.xls B oszlopában,
'vagyis a darabteli=0
ws.Cells(usor%, 2) = utvonal 'az utvonal változót írja be az ws.B oszlop első üres sorába
Else
'ha van "utvonal" a ws.B oszlopában, keresse meg, és a hozzá tartó H oszlopban lévő értéket
'írja be a kiinduló füzet (B.xls) B oszlopába.
'Itt nem kell a B.xls-re hivatkozni, mert nem léptünk át Select-tel az A.xls-be, csak leskelődtünk.
Cells(sor%, 2) = Application.WorksheetFunction.VLookup(utvonal, ws.Columns("B:H"), 7, 0)
End If
End SubSub Beír(Érték)
'A B.xls B oszlopába történt beírás hívja meg ezt a makrót.
'Akkor írsz értéket a B oszlopba, ha az fkeres nem talált A oszlopbeli útvonalat.
Dim ws As Object, usor%
Set ws = Workbooks("A.xls").Sheets("Munka1") 'Mint fent
usor% = ws.Range("H1").End(xlDown).Row + 1 'Mint fent
ws.Cells(usor%, 8) = Érték 'A ws.H oszlop első üres sorába beírja az értéket
End SubAz eseménykezelés letiltása azért kell a laphoz rendelt makróba, mert a munkalapon történt minden változásra beindul. Próbáld ki az Application.EnableEvents = False sor nélkül lépésenként futtatni, és meglátod, hányszor fut le feleslegesen. A lépésenként futtatáshoz tegyél a makró elejére egy stop-ot, majd írj a B.xls-be egy útvonalat, vagy km-t.
Az end sub előtt vissza kell állítani True értékkel!Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Geryson
addikt
Sziasztok!
Egy bődületes táblázatnál elkezdtem megcsinálni a Pivotot, de sajnos ugye még van egy csomó hiba benne. Visszamegyek az eredeti adatbázisba, átírok kategóriákat, javítok, pontosítok. Sajnos a Pivot nem frissül, hogyan tudnám ezt elérni?
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
Geryson
addikt
Még egy gyors kérdés, a Pivot megjelenített értékeinél hol állítok formátumot? Kellene az 1000-es tagolás, mert hülyén néz ki a sok összefolyt nagy szám, de nem találom...
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
Delila_1
Topikgazda
válasz Geryson #10424 üzenetére
Frissítés: kimutatáson jobb klikk, Frissítés.
Formátum: kijelölöd a formázni kívánt adatokat, a Kezdőlap/Szám menüben rákattintasz a 3 db nullát ábrázoló (Ezres csoport) ikonra.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Geryson
addikt
válasz Delila_1 #10425 üzenetére
És tényleg! Tökéletes. Delila, olyan Pivotot csaptam össze, hogy öröm nézni!
Csináltál nekem egy olyat, mely szerint (egy kicsit átírtam mondjuk):
=HA(ÜRES(M2);0;HÓNAP(M2))
Hogyan lehetne megtanítani neki, hogy ne számot írjon, azaz januárhoz "1", stb., hanem nevet? Csak úgy, hogy beviszem a 12 számot és nevet és "HA" függvénnyel rámutatok?
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
-
Geryson
addikt
Nem fog az agyam és nem jövök rá...
Adott ez:
=HA(J2<0;J2*-1;J2)
Ki kellene egészíteni azzal, hogy ha a K2-ben "Euro"-van írva, akkor J2-öt szorozza L2-vel.
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
-
csferke
senior tag
Sziasztok!
Két kérdésem lenne macro parancsokkal kapcsolatban.1. Hogy lehet egy olyan parancsot kiadni, hogy egy bizonyos cellából (pl. A10) lépjen x cellát balra és az legyen az aktív? Ugyanúgy jobba, lefelé vagy felfelé.
2. Ha egy oszlopban vannak adatok (pl. A1:A23) akkor hogy tudom aktívvá tenni az utolsó beírás alatti első sort (A24)? Próbálkoztam a Ctrl+End, Ctrl+PageDown és hasonlókkal de nem jött be.
köszönettel
-
félisten
válasz csferke #10434 üzenetére
ActiveCell.Offset(0, -1).Select - aktuális cellától balra lép 1-et
ActiveCell.Offset(0, 1).Select - aktuális cellától jobbra lép 1-et
ActiveCell.Offset(1, 0).Select - aktuális cellától lefelé lép 1-et
ActiveCell.Offset(-1, 0).Select - aktuális cellától felfelé lép 1-etBevallom, olyan billentyűzet kombinációt nem ismerek, ami az első üres cellára ugrana az adott sorban vagy oszlopban. Amúgy a CTRL+ kurzormozgatókkal kísérletezz, így az első/utolsó használt cellára ugorhatsz az adott sorban/oszlopban.
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)
-
Delila_1
Topikgazda
válasz csferke #10434 üzenetére
A második kérdésedre:
Cells(Range("A1").End(xlDown).Row + 1, 1).Select
vagy
Cells(Application.CountA(Range("A:A")) + 1, 1).Select
vagy
Cells(Application.CountA(Columns("A:A")) + 1, 1).Select
vagy
Range("A" & Application.CountA(Columns("A:A")) + 1).Select[ 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.
-
csferke
senior tag
Köszönöm mindkettőtöknek!
Ezzel már elboldogulok.
Egyébként hol lehet a Help-ben megtalálni ezeket a parancsokat?
Nekem nem vagy csak részben sikerült. -
m.zmrzlina
senior tag
válasz Delila_1 #10422 üzenetére
Köszi a választ, és külön köszönöm a kommentes választ.
Sajnos nem működik a kód de nyilván én szúrok el valamit mert a tiédtől sokkal egyszerűbb kódok sem működnek amit munkalaphoz rendelek de sajna most egy darabig nincs időm komolyan foglalkozni a dologgal.
Ráadásul most fogok részt venni egy Számalkos VBA2 tanfolyamon és megígérem hogy nem fogok szót ejteni rólad mert restellném magam hogy ilyen támogatással mint a tied csak addig jutottam ameddig.
Majd még visszatérünk a problémámra de ameddig nem tudok értelmeset kérdezni addig maradok magamnak és küzdök a problémámmal magam (ha lesz rá időm).
-
Delila_1
Topikgazda
válasz m.zmrzlina #10438 üzenetére
Lehet, hogy hibával léptél ki valamelyik makróból, ezért nem érvényesült az
Application.EnableEvents = True sor, letiltva maradt a makrók futtatása.Ctrl+g-vel bejön az Immediate ablak, oda írd be a fenti sort, és enterezd 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.
-
attiati
veterán
meg lehet ezt oldani excelben (office prof. plus 2010) egy makróval?:
1. automatikusan kimenti egy több munkalapos excelből az adott munkalapot (csak azt)
2. fájlformátum: szöveg (tabulátorral tagolt) txt
3. fáj nevének formátuma: imp110607valami.txt, ahol a középső szám mindig az aznapi dátumnak megfelelően változna
4. elérési út: mindig fix -
nyunyu
félisten
Adott egy Excel 2010.
Ha beirom egy mezobe, hogy =ÉV(MA()) akkor helyesen visszaadja, hogy 2011.
Ha azt irom, hogy =ÉV(DÁTUM(2010;4;30)), akkor azt, hogy 2010.DE ha =ÉV(MA()-DÁTUM(2010;4;30)) a keplet (amit egy nagyobb keplet reszekent szorozni szeretnek), akkor 1 helyett 1901.01.01-et ad vissza.
Azt beszorozva a kivant ertekkel 1901-szer nagyobb a vegeredmeny, mint kene...
Hello IT! Have you tried turning it off and on again?
-
félisten
-
Delila_1
Topikgazda
válasz m.zmrzlina #10442 üzenetére
OK. Várom a beszámolót.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Pá
addikt
Hogy tudom beállítani, hogy egy cella értékét mindig lefele a következő páros számra karekítse?
Pl
53,50 --> 52
44,80 --> 44
69,99 --> 68''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
félisten
-
Pá
addikt
válasz Fire/SOUL/CD #10447 üzenetére
Köszi! Mindenképp egy kész képletet akartam rá és nem is gondolkoztam el rajta, hogy ez mennyire egyszerű.
Kéne még valami...
Olyat lehet, hogy egy cellára ha rákattintok, akkor automatikusan "átdob" egy másik megadott munkalapra? Szóval az a cella ilyen nyomógombos teleportkapu féleség kéne legyen. Makro nélkül szeretném, ha lehet, de nem fontos, ha nem megy.''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
Delila_1
Topikgazda
Hiperhivatkozást szúrj be a cellába.
Beszúrás - hiperhivatkozás - A dokumentum adott pontja. A megjelenő ablakban kiválaszthatod az ugrás helyét, valamint azt, hogy mi legyen a megjelenő szöveg az ugrást előidéző cellában.
A cellán jobb klikkre is előjön a hiperhivatkozás menüpont.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.