A segítségeddel és egy pici gondolkodással, ami így könnyebben ment sikerült megoldani a problémám teljes mértékben valahogy így: =HA(VAGY(D2="OFF";ÜRES(D2));0;HA(ÉS(PERCEK(D2)>0;PERCEK(D2)<=59);KEREK.FEL((D2-C2)*24/0,5;0)*0,5;(D2-C2)*24)) és működik. Ha te nem adod meg azt a képletet ami kiszámolja az időt félórás pontossággal, akkor sztem én sem tudtam volna rájönni a megoldásra. Még 1x köszönöm. Most már csak arra kellene rájönnöm,hogy hogy kell, vagyis melyik (worksheets) munkalap eseménybe kell ezt a képletet beírni.
Tudnátok segíteni? Adott egy feladat ahol megvan adva emberek születési dátuma valamint egy dátum és meg kéne adni hogy ki hány éves ha egy évet 365,25 napnak veszünk. Ez eddig mind szép és jó, csak hogy a feladat úgy kéri hogy csak az egész évek jelenjenek meg. =(W$2-E5)/365,25 eddig itt tartok ahol a W2 E5 a dátumok meg is kapom hogy 32,56 de ha megadom hogy csak 2 számjegyet jelenítsen meg akkor fel kerekíti 33 ra. Amivel a feladatom megoldása hibás lesz. Valakinek valami ötlet?
Az INT függvény levágja a tizedes értékeket. Az =INT(A/B) az A/B egész részét adja
=KEREK.LE() függvény a megoldás ha magyar excelt használsz. =ROUNDDOWN függvény ha angolt.
a számjegyek száma 0
(nekem jobban tetszik mint az INT függvény mert ha későbbiekben szükség van valami oknál fogva tört értékre könnyebb ezzel módosítani. /Ám az INT függvény a tökéletes a Te kérésedre :-)/)
'Műszak If Sheets("seged").Range("Z28") = "yes" = True Then Sheets("Raktar").Cells(sor, 2) = Sheets("seged").Range("O17") If Sheets("seged").Range("X28") = "yes" = True Then Sheets("Raktar").Cells(sor, 10) = Sheets("seged").Range("O17") If Sheets("seged").Range("R11") = "yes" = True Then Sheets("Raktar").Cells(sor, 17) = Sheets("seged").Range("O17")
'Névkiírás If Sheets("seged").Range("Z28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 3) = Sheets("seged").Range("K17") If Sheets("seged").Range("Z28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 4) = Sheets("seged").Range("L17") If Sheets("seged").Range("Z28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 5) = Sheets("seged").Range("M17")
If Sheets("seged").Range("X28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 11) = Sheets("seged").Range("K17") If Sheets("seged").Range("X28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 12) = Sheets("seged").Range("L17") If Sheets("seged").Range("X28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 13) = Sheets("seged").Range("M17")
If Sheets("seged").Range("R11") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 18) = Sheets("seged").Range("K17") If Sheets("seged").Range("R11") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 19) = Sheets("seged").Range("L17") If Sheets("seged").Range("R11") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 20) = Sheets("seged").Range("M17")
'adatkiírás szűrőcserénél
If Sheets("seged").Range("Z28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 6) = -Sheets("seged").Range("Y24") If Sheets("seged").Range("Z28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 7) = -Sheets("seged").Range("Z24")
If Sheets("seged").Range("R11") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 21) = -Sheets("seged").Range("Q11")
If Sheets("seged").Range("X28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 14) = -Sheets("seged").Range("W24") If Sheets("seged").Range("X28") = "yes" = True Then _ Sheets("Raktar").Cells(sor, 15) = -Sheets("seged").Range("X24")
End Sub
azt szeretném ha ez csak akkor futna le, ha a seged fülön a Q4 cella értéke "no" és ha ez az érték "yes" akkor ne fusson le. (ezt az értéket változtatja meg az ejszakas checkboxom)
köszönöm szépen a segítséget!
Az egész makrót egy feltétellel kezdd el: If Sheets("seged").Range("Q4")="no" Then ... 'ide jön a makró End If
Az első üres sort ciklus nélkül, 1 lépésben kikeresheted. sor=Sheets("Raktar").Range("A" & Rows.Count).End(xlUp).Row + 1 A Rows.Count a lapon lévő sorok száma, régebbi verziókban 65.536, újabbakban 1.048.576. A fenti utasítás annak a műveletnek a VBA-s megfelelője, mikor az A oszlop alsó celláján állva nyomsz egy Ctrl+fel nyilat. Ilyenkor az A oszlop utolsó kitöltött cellájára ugrik a fókusz. A +1 adja az első üres sor számát az oszlopban.
Az If Sheets("seged").Range("Z28") = "yes" = True Then Sheets("Raktar").Cells(sor, 2) = Sheets("seged").Range("O17") típusú sorok hibásak, nincs kettős egyenlőség a VBA-ban.
A helyedben felvennék a makró elején 2 változót, könnyebb kezelni a továbbiakban a hivatkozásokat. Dim WSR As WorkSheet, WSs As WorkSheet Set WSR = Sheets("Raktar") Set WSs = Sheets("seged")
If WSs.Range("Z28") = "yes" Or WSs.Range("Z28") = "True" Then WSR.Cells(sor, 3) = WSs.Range("K17")
nagyon nagyon jó ötlet a változó felvétele :-) ezt nem is tudtam eddig, mint nagyon sok mást sem :-D sajnos a VBA tanulással leakadtam időhiány miatt :-(
Nagyon hálás vagyok a segítségért! már sokkal jövök Neked! :-)
Köszönöm szépen a mai segítséget! Rengeteget tanultam :-) Igazad volt így sokkal könnyebb volt megtanulni a trükköket, megoldásokat mint bármely könyvből! Örök hálám!
itt bent a melóhelyemen már 3 kollégánál van egy olyan jelenség, hogy nagyon lassan számol át bizonyos táblázatokat a 2013-as verzió (ugyanaz nálam megnyitva 2010-ben problémamentes) A 2013-as Excelnél ezek pár munkalapos táblázatok, nincs külső hivatkozás, pár soros adattáblák vannak néhány diagrammal, nem tartalmaz makrót sem, vagyis semmi extra, mégis másodpercekig számol valamit. Sajnos a táblázatokat nem oszthatom meg, de van valakinek esetleg ötlete, találkozott már ilyesmivel valaki?
Meglett a válasz ha valakit érdekel: Az egyik munkalapon volt egy egyszerű feltételes formázás, és az utolsó cella "beragadt" valahol 100e sor után, pedig pár száz sor után már nem volt adat.. ezt a "beragadást" pedig így lehet feloldani: 1. Excel adott munkalapján: ALT+F11 (visual basic indítása) 2. Megnyíló Visual Basicben: CTRL+G (immediate ablak megnyitása) 3. Immediate ablakba: Worksheets("Sheetx").Activate (+ENTER) ActiveSheet.UsedRange.Select (+ENTER) 4. ALT+Q (Visual Basic bezárása)
üdv. csak kicsit kapcsolódik excel-hez, de itt azért nagyobb az élet, ezért ide teszem fel a kérdést:) van egy excel táblázatom, melyekben különböző színekkel vannak jelölve a sorok. lényegében arról van szó, hogy egy munka táblázata ez, és minden sor egy darab eszközt jelöl, amin el lett végezve a munka. zöld színű a sor, ha sikeres, piros színű a sor, ha sikertelen. na most szeretnék csinálni egy kimutatást, hogy mennyi sikeres és sikertelen munka volt. access-re gondoltam, bár nincs nagy gyakorlatom benne, még suliban használtam utoljára, szóval eléggé megkopott a tudásom. viszont ahogy beimportálom a táblát, a színek eltűnnek, így nem is tudok ez alapján szűrni. igazából excel-ben is megoldható, csak kíváncsi vagyok, hogy access-t lehet-e ilyenre használni:)
Sziasztok!
Az alábbi Excel makró problémában kérném szíves segítségeteket: Excelből szeretnék Word doksit kezelni. 1) megnyitom 2) megkeresek egy kifejezést 3) kijelölöm a sor (sor elejére ugrik, majd a végére kijelöléssel) 4) copy Az utolsó két műveletet sehogy sem veszi be. Ha a Word-ben fut a makró így néz ki és működik:
Bocsi, hogy nem fogalmaztam pontosan. Az Excelben fut a makró. Az Excel megnyitja a Word doksit, keres, kijelöli a sort, kimásol belőle, majd (innen már tudom) beilleszti egy saját cellába. Köszi! godunov
Sziasztok. Azt szeretném kérdezni, hogy ha be van jelölve a Bővítmények ablakban az Analysis Toolpack és a többi bővítmény akkor miért nem látom a Képletek menü/függvények ablakban. Ez beállítási hiba vagy esetleg valami más probléma lehet. Van erre valami megoldás? Nem rég újra telepítettem az Office-t 2013-s verzió. Erre kérném a segítségeteket. Előre is köszönöm. Imre
Az Analysis ToolPak nem 1 db függvény. Ha bekapcsolod, akkor egy halom új függvényt kapsz.
Igen igazad van, de nem látom azokat a függvényeket, amik ebben a "csomagban"- nevezzük ennek - benne vannak. Bár nem tudom pontosan milyen függvényeket tartalmaz. Mert mint mondottam be van kapcsolva csak a függvények közt nem találom/látom ezeket a fgv-ket
Minden kategóriában lesznek új függvényeid, nem egy külön csoportban. Arra emlékszem, hogy pl. a HEX2BIN függvényhez csak a bővítmény bekapcsolása után lehetett régebben hozzáférni. Lehet, hogy most is.
Számold meg a függvényeidet a Mind csoportban, zárd be a bővítményt, és számolj újra. Ha veszed a fáradságot, írd meg, mennyi a különbség.
Sziasztok lenne egy olyan problemam, hogy szeretnem megoldani excelben azt hogy van ket oszlopom az egyikben beirok egy szamot+betut a masikban pedig ez alapjan kellene egy adott szoveget rendelnie a beirt szam es betu kombinacioja alapjan. Amit probalok az a macroban az if es a else if, de valahogy nem sikerul osszehoznom. Tudna nekem ebben segiteni valaki?
Sziasztok. :) Azt a házit kaptuk számtech tanártól, hogy excelben valósítsuk meg valahogy azt, hogy mondjuk egy cellába beírok bármilyen szót, akkor az a másik cellában fordítva jelenjen meg. (Pl: karakter=>retkarak) Még azt is tudom, hogy a HOSSZ, BAL, JOBB és ÖSSZEFŰZ függvényekkel kellene dolgoznom, de fogalmam sincs, hogy csináljam. Segítene valaki? Nagyon megköszönném! :)
Gondolom, makróval kell megoldanotok. A laphoz rendeld a lenti eseményvezérelt makrót:
Private Sub Worksheet_Change(ByVal Target As Range) Dim betu As Integer, forditott As String
If Target.Address = "$A$1" Then Application.EnableEvents = False For betu = Len(Target.Value) To 1 Step -1 forditott = forditott & Mid(Target.Value, betu, 1) Next Range("A1") = forditott Application.EnableEvents = True End If End Sub
Sajnos nem. Azt mondta tanár úr, hogy szövegfüggvényekkel megoldható a feladat. Igazából eljutottam egy darabig, csak az a baj, hogy ezzel a képlettel csak 6 betűs szavakat tudok megfordítani.
Szóval valami ilyesmi: =BAL(JOBB(A6;1))&BAL(JOBB(A6;2))&BAL(JOBB(A6;3))&BAL(JOBB(A6;4))&BAL(JOBB(A6;5))&BAL(JOBB(A6;6))
Bevetheted még a HOSSZ függvényt.
A1-ben van a szó. B1 –> =JOBB(A1;1) C1 –> =KÖZÉP($A1;HOSSZ($A1)-1;1) ezt a függvényt másolod jobbra, és a levonandó értéket átírod mindig eggyel nagyobbra. D1 –> =KÖZÉP($A1;HOSSZ($A1)-2;1) E1 –> =KÖZÉP($A1;HOSSZ($A1)-3;1) ... és így tovább. Amelyik oszlopban #ÉRTÉK hibát kapsz, az már nem kell, mert a levonandó érték egyenlő a szó hosszával. Az utolsó hibátlan képlet helyére beírhatod a =BAL($A1;1) függvényt.
Most már csak az egyes cellák függvényeit (nem az eredményeket, tehát nem cellahivatkozást) kell összefűznöd a B1-ben az & jellel, az eredeti képleteket törölheted.
Másik módszer: B1-ben marad a BAL függvény. C1 –> =KÖZÉP($A1;HOSSZ($A1)-OSZLOP()+2;1). A OSZLOP() függvény az aktuális oszlop értékét adja. Ezt a képletet másolhatod jobbra változtatás nélkül akármeddig. Amelyik oszlopban az OSZLOP()+2 eléri az A1-ben lévő szó hosszát, onnan kezdve #ÉRTÉK hibát kapsz.
Ezt használhatod ki a HAHIBA függvénnyel. =B1&HAHIBA(C1;"")&HAHIBA(D1;"")&HAHIBA(E1;"")&HAHIBA(F1;"")&HAHIBA(G1;"")&HAHIBA(H1;"")&HAHIBA(I1;"")&HAHIBA(J1;"")&HAHIBA(K1;"")&HAHIBA(L1;"") ...stb.
Hello, olyat hogy tudok megoldani hogy van ket oszlopom ahol kulombozo szamok vannak ezt kellene osszehasonlitanom es egy harmadikban ahol egy kivonas van oda kellene beleraknom az osszehasonlitottbol a kessebbik szamot?
Sziasztok, én olyat szeretnék kérdezni, hogy: Van egy táblám, több oszloppal, de ami nekem kell, az egyik oszlop a hónapot tartalmazza (JAN, FEB, MAR...), hogy melyik hónapban szerepelt az adott tétel, néhány oszloppal arrébb pedig különböző kategóriájú (FR0, FR1, FR2, FR3, O) oszlopok vannak, és be van jelölve egy 1-essel, hogy melyik kategóriában szerepelt az az esemény. Egy hónapban szerepelhet több esemény is, de nem föltétlen ugyan azzal a kategóriával. Ez a fő táblám, ahova viszem be az adatokat.
Akkor alatta van egy összesítő táblázat, első oszlop a hónapok nevei egymás alatt soronként, következő oszlopok megint a kategóriák (FR0, FR1...). Szeretném összegezni, hogy adott hónapban mennyi esemény volt az adott kategóriában. Tudtok segíteni?
Alapvetően az a gondom ezzel, hogy az összesítő táblázatnál pl a "JAN" sorban az FR0-hoz végig kell mennie a nagy táblázatban soronként, hogy "ha a sor egyik oszlopa JAN, akkor a másik oszlop értékét számolom" És ugye itt nem ugyan az a kritériumot vizsgálandó tartomány, mint a számolandó.
Nem igazán tudtam a DARABHATÖBB-et alkalmazni. Szerintem ide valamilyen FKERES szerűség kellene valamelyik DARAB függvénnyel. Be printscreeneltem egy példa táblát, hátha így érthetőbb.
Tehát az összesítőtáblát szeretném függvénnyel frissíteni. Utoljára szerkesztette: zvaragabor, 2015.10.01. 15:06:52
A két táblázat egymás mellett legyen, ne egymás alatt. Az összesítő G2 cellájának a képlete látszik a szerkesztőlécen. Ezt másold jobbra és le az I13 celláig. Ügyelj a $ jelekre!
Sajnos nem lehet átrendezni a táblát, az "fr" és "abc" oszlopok mind a kiinduló táblázat oszlopai, nem tudom elforgatni sajnos. Illetve megoldható, de akkor át kell rendezni a táblázat struktúráját. A makrós dologhoz nem értek, az kimarad. Köszönöm szépen a segítséget, a nagyja így is sikerült. :)
Helló! Az lenne a kérdésem hogy, hogyan tudom azt megcsinálni hogy a G3 cellába írt szöveg legyen automatikusan a mentési név. Előre is köszönőm a segítséget!
A VB szerkesztőben a ThisWorkbook lapodhoz kell rendelned a makrót.
Private Sub Workbook_BeforeClose(Cancel As Boolean) Const utvonal = "D:\Akármi\Valami\"
ActiveWorkbook.SaveAs Filename:=utvonal & Sheets("Munka1").Range("G3") & ".xlsm", FileFormat:= _ xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False End Sub
Az utvonal változóhoz a saját útvonaladat add meg, a Sheets("Munka1") helyén is a saját lapod neve legyen.
Sziasztok. Egy kis segítséget kérnék. Készítettem egy táblázatot, ami a ledolgozott időmet tartalmazza. Készítettem egy makró - előtte - innen-onnan sőt még erről az oldalról is kértem segítséget a makró megírására. Na most az a problémám, hogy amikor lefut a Sub Workbook_NewSheet( Byval Sh as Object) és utána a Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Az ebben a rutinban megírt esemény egyik változója Type Mismatch üzenettel kiáll: Be másolom a cls fájlt mivel nem tom, hogy hogy kell beilleszteni. Itt a fájl: Dim menyinap Public kezdese Public veges Public perce Public terulet As Range
Private Sub Workbook_NewSheet(ByVal Sh As Object) Dim menyinap, honapneve Dim kerdes As Date
Public Function honnev(honapp As Date) Dim neve neve = MonthName(Month(honapp)) honnev = neve End Function
Public Function hanynap(anapok) Dim napszam napszam = WorksheetFunction.EoMonth(anapok, 0) hanynap = Day(napszam) End Function
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim kezdese, veges As Date Dim perce As Currency Dim i Range("c1").Activate i = ActiveCell.CurrentRegion.Rows.Count - 1 kezdese = Cells(Target.Row, 3) veges = Cells(Target.Row, 4) perce = Minute(vege) Type mishmatch hiba 'Debug.Print "kezdés:" & kezdes, "vége:" & vege 'Debug.Print "vege - kezdes:" & WorksheetFunction.RoundUp((vege - kezdes) * 24, 0) If Target.Column = 4 Then Select Case perc Case 0, 30 Cells(Target.Row, 5) = ((vege - kezdes) * 24) Case 1 To 29 Cells(Target.Row, 5) = WorksheetFunction.RoundUp((vege - kezdes) * 24 / 0.5, 0) * 0.5 Case 31 To 59 Cells(Target.Row, 5) = WorksheetFunction.RoundUp((vege - kezdes) * 24 / 0.5, 0) * 0.5 End Select End If End Sub Ebben kérném a segítséget. Előre is köszönöm.
Bocsánat de még egy kérdés. Hogy tudom azt megcsinálni - makróban - hogy az adott oszlop - "E" oszlop - utolsó sora után összegezze az "E" oszlop értékeit. A sorok változhatnak lehet 30 vagy 31 sora attól függ hogy az adott hónap hány napos.
Az inputboxban a hónapot kéred be dátum formában. Csakhogy ez szám, nem dátum.
Ezt írod: Range("A1").Select Selection.Formula = "Dátum"
Helyette éppen elég (és a Selection elhagyása gyorsít is a programon) Range("A1")="Dátum"
Hello azt hogy tudom megcsinalni, hogy egy excelen belul van ket lapom es szeretnem ha a masodik lapon talalhato lista alapjan az elsoben kijelolje azokat a sorokat ahol eggyezik a termek kodja? Koszi elore is.
Feltételes formázást alkalmazz. Mivel ez csak 1 lapon belül működik, az első lapon vegyél fel egy segédoszlopot, nálam ez a B. A két lap egymás mellett látszik a képen, a státuszsor a Munka1 lap B2 cellájának a képletét mutatja. A feltételes formázáshoz jelöld ki a Munka1 lap A2:A... valahány tartományát, majd a formázáshoz add meg a =$B2>0 képletet.
Szerk. Sajnos a kép nem olvasható. A Munka1!B2 képlete: =DARABTELI(Munka2!A:A;A2), ezt másold le a többi adat mellé. Utoljára szerkesztette: Delila1, 2015.11.03. 10:43:47
Szia. Beírtam ezeket az utasításokat de valahogy nekem továbbra sem akar tökéletesen működni. Nem az a probléma, hogy én a Workbook_Sheetchange() esemlnyt használom a WorkSheets_change() esemény helyett? csak ezzel az a probléma, hogy minden egyes új munka lapnál Ctrl +c , Ctrl+v utasítást kell használni. Így viszont nem kéne mindig másolni, beilleszteni. Sőt van olyan is hogy nem számolja ki a ledolgozott időt. És el tudod mondni hogy ez az utasítás mit csinál pontosan? Range("E" & Rows.Count).End(xlUp).Row Nagyon köszönöm.
Jó a Private Sub Workbook_SheetChange esemény, amit a ThisWorkbook laphoz kell rendelned. Akkor minden munkalapodon fog működni. Melyik változónál akad ki típus eltérés hibával?
usor = Range("E" & Rows.Count).End(xlUp).Row A Rows.Count adja a lapok max. darabszámát, ami a régebbi verziókban 65.536 volt, az újabbakban 1.048.576. Állj az E oszlop legalsó sorára, majd nyomj Ctrl+fel nyilat. Az E oszlop alsó, valamilyen adatot tartalmazó cellája lesz aktív. Ezt a műveletet tartalmazza a Range("E" & Rows.Count).End(xlUp) utasítás. A végén a .Row az aktívvá lett cella sorának a számát adja vissza, ezt tesszük az usor változóba.
Az első üres sor az oszlopban üres=Range("E" & Rows.Count).End(xlUp).Row+1
"A Rows.Count adja a lapok max. darabszámát" kimaradt egy lényeges szó, helyesen "A Rows.Count adja a lapok max. sorának darabszámát" Utoljára szerkesztette: Delila1, 2015.11.06. 07:51:15
Legtöbbször ezek változok okoznak hibát. kezdese = Cells(Target.Row, 3) veges = Cells(Target.Row, 4) perce = Minute(vege)
A "kezdese" és a "veges" változok dátum tipusúak. De a"perce " változót nem tudom, hogy mire dimenzionáljam.
A sárga soron az egérmutatóval állj a Target.Row fölé. Nem kell kijelölni. Megjelenik az aktuális sor száma. Lépj át a füzetedbe, és nézd meg, hogy abban a sorban a C oszlop értéke dátum (idő) típusú-e. Valószínű, hogy nem, vagy esetleg üres a kérdéses cella.
Ez a hiba mindig a Workbook_SheetChange() eljárásnál jelentkezik. Ha a Worksheet_Change() használom akkor nincs semmilyen hiba jelzés. Csak itt mindig másolni kell az aktuális munkalap-hoz.
A SelectChange akkor indul, mikor egy cellára rákattintasz, a Change pedig akkor, mikor a billentyűzetről megváltoztatod egy cella értékét. Érdemes kivenni a Select-et a címsorból. Ha a makrót minden lapon akarod alkalmazni, akkor a ThisWorkbook laphoz rendeld.
A makró elején a helyedben meghatároznám, melyik oszlopba íráskor végezze el a feladatot. Ha jól látom, a D oszlopba írod be az utolsó adatot. A Dim utasítások után betennék egy feltételt: If Target.column=4 Then 'utasítások End If
Cella módosításakor indul a makró. Azonnal megnézi a bevitel helyét, és ha ez nem a 4. oszlop, az End If utasításra ugrik, nem számolgat.
Sziasztok. Azt szeretném kérdezni, hogy mit állítunk be az EnableEvents, és a ScreenUpdating tulajdonságokkal? És mikor, hol kell őket használni. Nagyon köszönöm.
Mindegyiket makrókban alkalmazzuk. Az EnableEvents (esemény engedélyezése) letiltását jellemzően az eseményvezérelt makrókban alkalmazzuk. Pl. a Change eseményben megadod, hogy egy cellába kerüljön egy új adat. Ezt a beírást észreveszi a makró, és újból lefut. Érdemes a makró elején letiltani, majd a végén True-ra állítani. Könnyen ellenőrizheted a dupla futást, ha a makró elejére beteszel egy stopot, és lépésenként futtatod.
A ScreenUpdating a képernyőfrissítés. Mikor egy hosszú listán végzel műveletet, a tiltása nélkül a képernyő minden művelet után frissül, ami megnöveli a futási időt. Ezt is vissza kell állítani a makró végén.
Bocsánat. De előtte kipróbáltam és továbbra is type mishmatch üzenetet ad. Most azt nem tudom, hogy egy cella milyen tipusú ha csak azt írod be hogy: 17:00 mert ha számként formázom, akkor double a tipusa, de ha idő formátumot adok akkor date tipusú. Most melyik jobb? Mert akkor a 2142-s kérdésemre konvertálnom kell a változókat. Dim kezdes as Double Dim vege as Double Dim perce as Byte, mivel a perc egész szám és kisebb 256-nál. Minute(vege)=1 -59 közötti érték. De ha Dim kezdes, vege as date Dim perce as Byte is jó?
Változó típusok: Date (dátum és idő), mérete 8 byte, lebegőpontos, aminek az egész része a dátum, a tört része az idő. Byte (bináris), mérete 1 byte, 0-255 közötti egész szám.
Én ilyen pontosan nem szoktam beírni. Én csak annyit írok be, hogy például kezd= 6:00 vegez=17:00 és a percek = Minute(vegez) és innen számolom ki a ledolgozott időt ilyenkor adja a 13 hiba kódot. Az napi időpontnál nem is működnek?
Szia Delila. Hát én feladom a makró készítést. Bármit csinálok a makróm nem nagyon akar működni. Például beírtam az application.enableevents = false értéket a végére pedig az ellenkezőjét és akkor már a WorkBook_NewSheet() esemény az egyik fejléc helyett egy nullát (0) írt a cellába. a Legfontosabbat még nem is mondtam, hogy bármire deklarálom nem hajlandó kiszámolni az értéket.
Legyetek szívesek segítsetek, kiapadt a tudományom. Az alábbi a téma. Adott egy táblázat dolgozók adataival. A oszlop munkába állás időpontja, B oszlop Felmondás időpontja. A kérdés, hogy hányan dolgoztak 2013.01.01 és 2013.12.31-ke között. Illetve 2013.01.01-én és 2013.12.31én. Irányított szűrővel próbálkoztam, de nem tudom egyszerre úgy, hogy mindegyik feltételnek megfeleljen. Hogyan tudnám ezt legegyszerűbben megoldani? Köszönöm előre is.
Sziasztok. Azt szeretném kérdezni, hogy ez az utasítás mit csinál? if Intersect(Target, Range("G2:G103")) then és ez? if Not Intersect(Target, Range("E14")) Is Nothing then
És még egy utolsó kérdés ha nem gond van ez : range(cellaId).end(irány) honnan lehet tudni, mikor melyik irányt (xlDown, xlUp,xlLeft, xlRight) kell használni? Előre is köszönöm. Imre
A Columns.Count a lapon (füzetben) lévő oszlopok száma, a Rows.Count pedig a soroké. 2007-es verziótól kezdve ezek az értékek 1024-szeresükre nőttek az előző verziókhoz képest.
Állíts össze a kép szerinti kis táblákat – akár többet –, valamelyikben állva nyomj Ctrl+nyilat (fel, le, jobbra, balra). A hatásukból azonnal megérted a választ.
Az If-es kérdésedhez: a 2. a jó. Akkor hajtódik végre az If és End If közötti utasítás, ha az E14 cellába vittél be adatot a billentyűzetről. 1 cella helyett tartományt is megadhatsz. if Not Intersect(Target, Range("E14:H20")) Is Nothing then