-
IT café
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
-
csferke
senior tag
válasz Delila_1 #12235 üzenetére
Szia!
Mit kell változtatnom ebben a sorban
Sheets("Bilans").[E14] = Application.WorksheetFunction.Sum(Range(Cells(Target.Row, 5), Cells(Target.Row, 6)))
hogy az E14-be áthozott érték " - " (negatív) legyen?És még egy kérdés.
=IF(F29="kom", (CONCATENATE("fco. naš mag. ",I8," radnih dana od dana prijema uplate")),)
Azt szeretném ha F29="kom" nem ez lenne hanem megvizsgálni, hogy az F29 egy bizonyos szöveggel kezdődik-e F29=begin with "szöveg"köszi
[ Szerkesztve ]
-
Regirck
senior tag
válasz Delila_1 #12283 üzenetére
Sziasztok!
Egy olyan kérdésem (problémám) lenne, hogy Excelben van egy csomó számom (kb. 10.000 db) és szeretném ezeknél a számoknál megtudni a leggyakrabban előforduló 10 db 20 db számot. Ezt hogyan tudom megcsinálni és nem átlagra vagyok kíváncsi hanem arra, hogy melyik szám jelenik meg többször és érdekelne a második, harmadik ... legtöbbször megjelenő szám is!Fontos lenne és köszönöm! (Hátha ez is fontos: több oszlop és sor is van és Office 2010-t használok!)
-
cousin333
addikt
válasz Delila_1 #12308 üzenetére
Köszönöm a választ. De szerintem félreértettük egymást, vagy nem elég pontosan fogalmaztam. Ezekkel a rendezési lehetőségekkel tisztában vagyok (bár a sorrend megfordítós megoldás ötletes), a kérdésem a makrókra vonatkozott. Tudom, hogy a VBA tud rendezni (Array.sort), meg sorrendet fordítani, de nekem úgy tűnik, ezek Excelben nem elérhetőek. Vagy mégis?
Ergo a különbség tartomány és tömb között (legalábbis az én értelmezésemben):
tartomány: pl. "A1:B20"
tömb: Dim lista(1 to 20, 1 to 2) as Double[ Szerkesztve ]
"We spared no expense"
-
cousin333
addikt
válasz Delila_1 #12313 üzenetére
"A tömb rendezésére én sem ismerek rövid megoldást, marad pl. a buborék módszer."
Vagy azt csinálod, amit én: kiírtam a teljes tömböt egy ideiglenes oszlopba, majd rendeztettem (makróból) az Excellel, és visszaolvastam a rendezett tömböt. De ez sem túl elegáns (és gyaníthatóan nem is a leggyorsabb), jobb ötletem viszont nem volt.
"We spared no expense"
-
secon
csendes tag
válasz Delila_1 #6597 üzenetére
Köszi szépen a megoldást! Nekem is az volt a gondom, hogy egy kétsoros táblázatból megkeressen két értéket, majd azon értékekhez tartozó alatta lévő sorból is kiválasszon két értéket.
Az általad leírt függvény szépen megkereste az általam megadott számot a felső táblázatban, majd két sorban kiírattam őket. A következő oszlopban a vkeres() fügvénnyel kiírattam a hozzájuk tartozó értékeket, majd az interpolációt rájuk illesztettem.
Hálás köszönetem!!!!Üdv.
Íme:
Az általam megadott érték: 8,54l0/d1 [cm] 0 6 8 10 12
(ei+e2)/d1) 0,000 0,049 0,078 0,110 0,146
=INDEX(G7:AD7;1;HOL.VAN(B21;G7:AD7;1)) Megkeresett érték: 8
=INDEX(G7:AD7;1;HOL.VAN(B21;G7:AD7;1)+1) Megkeresett érték: 10=VKERES(F10;G7:AD8;2) Megkeresett érték: 0,078
=VKERES(F11;G7:AD8;2) Megkeresett érték: 0,110Interpoláció:
=G10+(G11-G10)/(F11-F10)*(B21-F10)
Ennek eredménye: 0,087 -
secon
csendes tag
válasz Delila_1 #12320 üzenetére
Ez így van. Egy vasbeton pillér egyik erőtani számításához kellett, mert bevallom, hogy kézzel is ki tudom számolni, de ha elsőre nem jó a végeredmény kezdhettem volna az elejétől. Tehát az egészet excelbe raktam, és csak ez hiányzott hozzá (természetesen Maple vagy a Mathcad is szóba jöhetett volna, de excel majdnem minden PC-n van...). Szóval köszönöm még egyszer!!!
-
jani-wan
tag
válasz Delila_1 #12342 üzenetére
nem műkszik
nem tudom mit csinálok rosszul.
igaz most csinálok ilyet először.Szóval a fejlesztőeszközöknél megnyitottam a Visual Basic editort, ott duplán kattintva a lapon amelyikre a makrót akarom tenni, nyitottam egy dobozt, és belemásoltam amit írtál, majd elmentettem makróbarát formátumban.
És semmi.Az adatvédelmi központban engedélyeztem az összes makrót, ill. raktam pipát a VBA projecthez.
mi lehet a gond?
-
tezse66
csendes tag
válasz Delila_1 #12283 üzenetére
Szia Delila!
A munka1-en ez az adatbázis:
-A- -B- -C- -D-
REF R G B
B 00-04 P 191 194 200
B 00-11 S 73 83 105
B 01-02 P 210 207 210
B 01-06 M 147 145 155A munka2-n csak a REF ek vannak most
-A- -B-
B 00-04P szín
B 00-11S szín
B 01-02P szín
B 01-06M szín
A "B" oszlopokat kellene színezni.Jelenleg az általad írt makró leáll azzal, hogy "Runtime error '91'....Object variable is not set"
Itt áll le:
lel = Sheets("Munka1").Range("A:A").Find(Cells(sor%, "A")).Row
Én vagyok béna?
Nem lehetne inkább egy függvényt csinálni rá?
Köszi előre is a segítséget! -
tezse66
csendes tag
válasz Delila_1 #12371 üzenetére
Szia Delila!
Köszönöm, így már működik.
Megkérhetlek, hogy egészítsd ki a kódot azzal, ha nem talál megfelelő színkódot, vagy ha üres a cella, akkor ne csináljon semmit. Az első feltétel azért kell, mert ha nem találja meg a színkódot, akkor hibával leáll. A második rész azért kell, mert a ciklus hosszát nem tudom mennyi, csak egy nagy számot adok neki.
Még egyszer nagyon köszönöm!
tezse66 -
macimeister
aktív tag
-
poffsoft
addikt
válasz Delila_1 #12442 üzenetére
Nem kell kijelöltnek lennie, ezt a felvevő csinálta(nem nagyon értek a VB-hez).
A lényeg, hogy az aktuális lap előtti lap adott cellájának az értéke kerüljön át az aktuális lap adott cellájába. Összesen 12 lapom van ("Január", "Február", ... "December") , értelemszerűen "Február" az első, ahová másolnom kell.Ha jól gondolom, az aktív lap kódnevéből ("Munka2") tudnám az előző kódnevét a módszereddel előállítani, abból kellene a valódi nevet előállítani a formular1c1 számára.
Igazándiból arra próbáltam rákeresni, hogy a sheeteknek van-e olyan stricky variable-jük, mint a sor-oszlopnak, mert azoknál lehet viszonylag egyszerűen címezni ha jól értettem a google-t (pl: R-1C az aktív cella feletti cellát jelöli) .[ Szerkesztve ]
[ Szerkesztve ]
-
amdk7
aktív tag
válasz Delila_1 #12462 üzenetére
Angol excel 2007 fut a gépemen, úgyhogy a HLOOKUP -al használtam azt amit javasoltál, (G9=HLOOKUP(G8;b:d;2;0)
viszont a válasz: #N/AA 2-es szám azt jelenti, hogy melyik oszlopban keressen?
A 0-as mit jelent?[ Szerkesztve ]
Adataimat többé kevésbé az adatlapomon, illetve a személyigazolványomban találod meg. :)
-
poffsoft
addikt
válasz Delila_1 #12452 üzenetére
Egy egész éves műszakbeosztásban pl a megmaradt szabadnapokat minden hónapban összesíteni kell, és ezt görgetni végig az éven. Mivel minden hónap külön lapon van, így az előző hónap zárását a következő lapra (hónapra) át kell másolnom nyitásként, minden dolgozóra (sorra). Ezt szeretném ( a képlet beírását) klasszikusan makróként picit egyszerűsíteni. Tehát akkor futtatom a makrót, amikor pontosan azon a cellán állok, ahová az előző lap adott cellájának értékét szeretném bemásolni. A következő makró meg az, amelyik már az adott lapon, az első (előző lapra mutató képletet) átmásolja minden szükséges cellámba, de ezt már megcsinálja a makrófelvevő.
Pontosan annyi a problémám, hogy a makrófelvevő az előző lapra hivatkozáskor abszolút címet használ a lapnál ('LAP1!RC'), ahelyett, hogy relatív címet szúrna be ( valami ilyesmit, mint az Application.Caller.Parent.Previous.Range().Value)...
[ Szerkesztve ]
-
csferke
senior tag
válasz Delila_1 #12502 üzenetére
Fkeres = Lookup ??
Ha igen, akkor ezt már használom egy másik táblában.Érvényesítéssel vidd be az adatot az A1-be, akkor nem látszik keret és nyíl a nyomtatásban.
Nem tudom mi az az "Érvényesítéssel". Elmagyaráznád? Esetleg az angol verziós parancsszavakkal.[ Szerkesztve ]
-
dancers
csendes tag
válasz Delila_1 #12520 üzenetére
Szia!
Ne haragudj a zavarásért, már jó pár megoldást adtál nekem a pcforumon .
Múltkor kérdeztem egyet,
dancers kérdése privát | 2012.01.06. 10:46 | válasz
Sziasztok!Azt szeretném excelbe, hogy ha A1 cella értéke 1 akkor jelenjen meg egy kép, ha a cella értéke 2 akkor jelenjen meg egy másik kép. köszönöm
Delila megoldása (50 pont) előzmény | privát | 2012.01.06. 12:51 | válasz
A laphoz kell rendelned ezt a rövid makrót: lapfülön jobb klikk, kód megjelenítése, a jobb oldalon kapott üres lapra másold be.Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Target = 1 Then
ActiveSheet.Shapes("Picture 1").Visible = True
ActiveSheet.Shapes("Picture 2").Visible = False
End If
If Target = 2 Then
ActiveSheet.Shapes("Picture 1").Visible = False
ActiveSheet.Shapes("Picture 2").Visible = True
End If
End If
End SubA "Picture 1" és "Picture 2" nevében a számot írd át a saját képeid sorszámára.
dancers hozzászólása Delila (12:51) részére előzmény | privát | 2012.01.06. 13:12 | válasz
Ne haragudj, hogy ilyen értetlen vagyok, de hogyan kell a képeimnek sorszámot adni?
köszönöm a segítségetDelila hozzászólása dancers (13:12) részére előzmény | privát | 2012.01.06. 13:16 | válasz
Mikor beviszed a képet, a szerkesztőléc bal oldalán megjelenik a neve, sorszámmal együtt, pl. "Kép 1".Az az igazság, hogy nem tudok programozni, és akárhogy is próbálkoztam, nem sikerült megcsinálnom.Beillesztettem amit írtál, de nem tudom a képeket hogyan kell hozzá kapcsolni.Kérlek segíts, ha van egy kis időd, mert amit kaptam feladatot excelben, abból már csak ez hiányzik.
köszönöm szépen
-
amdk7
aktív tag
válasz Delila_1 #12526 üzenetére
A pontokat kicseréltem pontosvesszőre így elfogadja.
Beállítottam a formátumokat, de teljesen mindegy mennyit írok évnek, 1900-at ad az eredeti dátumhoz.A beállított évet, napnak veszi és azt adja az eredeti évszámhoz.
[ Szerkesztve ]
Adataimat többé kevésbé az adatlapomon, illetve a személyigazolványomban találod meg. :)
-
félisten
-
amdk7
aktív tag
válasz Delila_1 #12533 üzenetére
Valami miatt nem kell neki a vesszős változat: [link]
Illetve valami miatt a pontosvesszős jó lett.Nem értem, de most jó....
A tört évekre viszont nem jó pl.: 0,5év. Emiatt if-es függvényt célszerü beágyazni?Adataimat többé kevésbé az adatlapomon, illetve a személyigazolványomban találod meg. :)
-
amdk7
aktív tag
válasz Delila_1 #12539 üzenetére
Mivel fontos lenne a pontos dátum ezért ezt írtam:
=IF(J5>=1;"=DATE(YEAR(I5)+J5;MONTH(I5);DAY(I5))";"=DATE(YEAR(I5);MONTH(I5)+(J5*12);DAY(I5))")
Csak nem akar működni.
Érdekes, hogy külön-külön a két képletet kiszámolja, de ha így szúrom be, nem.A lényege az lenne, ha kevesebb min 1évet írok be, akkor felszorozza azt 12-vel és hozzáadja a névleges dátum hó értékéhez.
Adataimat többé kevésbé az adatlapomon, illetve a személyigazolványomban találod meg. :)
-
amdk7
aktív tag
válasz Delila_1 #12542 üzenetére
Semmi, megadom évbe
=9/12=IF(J5>=1;DATE(YEAR(I5)+J5;MONTH(I5);DAY(I5));DATE(YEAR(I5);MONTH(I5)+J5*12;DAY(I5)))
A képlet müködik, thanks for all!Szerk: Látom jött mégegy megoldás, de jó lesz ez is.
Thx[ Szerkesztve ]
Adataimat többé kevésbé az adatlapomon, illetve a személyigazolványomban találod meg. :)
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Promenade Publishing House Kft.
Város: Budapest