-
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
-
m.zmrzlina
senior tag
válasz
Delila_1 #30343 üzenetére
Hogyan egészítem ki a terulet objektumváltozó deklarálását a példádban, hogy ne a ws_Kabelo munkalap objektumváltozón értelmezze a terulet változót hanem pl mindig az első munkalapon /Worksheets(1)/?
Még egy kérdés:
Van a kódszerkesztőben az a ficsör, hogy beírod kisbetűvel a parancssort és ha rendben van a szintax akkor a megfelelő kezdőbetűk nagybetűre váltanak.Az egy dolog, hogy ebben a sorban a range nem vált nagybetűre de ha beírom nagybetűvel akkor visszavált kisbetűre
-
Fferi50
Topikgazda
válasz
Delila_1 #30282 üzenetére
Szia!
Amit gyanítottam, az bekövetkezett.... Szerintem egy sima kimutatással meg lehet oldani a problémát, nem kell hozzá bűvészkedni az idővel és a napokkal:
A kimutatás értékmezőit óra szerint csoportosítani kell, majd kiválasztani a maximumot és beállítani az Eltérés az előzőhöz. Ennyi lenne szerintem.
Üdv.
-
bsh
addikt
válasz
Delila_1 #30293 üzenetére
most például az a hiba keletkezett, hogy valamelyik gyökér letörölt két docx template fájlt, amikből az excel makróval fuvarleveleket generálna
dolgozzon ezeknek akinek két anyja van, az
a két docx template-et be tudom ágyazni excelbe valami ole ojjjektumként és azt megadni template-nek (word.documents.add() eljárással? (gondolom az utóbbi része nem menne)
-
bsh
addikt
válasz
Delila_1 #30290 üzenetére
az a baj ez nem az én fájlom, én nem írok bele adatot meg semmi közöm az egészhez, én csak makrózzam
ráadásul közösen használják, a kollégák állandóan szétcseszik az egészet, átállítják (az általam már előre beállított) formázásokat, meg ilyenek, aztán meg csak jön az opás nekem, mert jönnek nyafogni, hogy nem jó
(illetve sokszor észre sem veszik, hogy nem jó amit gányoltak...) na de hagyjuk...
-
bsh
addikt
válasz
Delila_1 #30285 üzenetére
vagy például amivel a minap ..optam: egy ilyen megrendelési szám: 302000060500, ezt ugye a nagyonokos excelje tudományos formátumra alakítja, ami nem jó... és hiába állítom át szövegre a cellaformázást, akkor is úgy jelenik meg, egészen addig, amíg nem próbálom meg szerkeszteni. ezért egyéni formátumra "@" kell állítanom minden cellát preventíven, de akkor meg "##########" jelenik meg cella teljes szélességében, és azt írja a tooltip, hogy a "negatív vagy túl hosszú dátumok" így jelennek meg... milyen dátumok könyörgöm, amikor ez egy formázatlan szöveg?!
de legalább másolni jó értéket másol...
-
Stanlee
őstag
válasz
Delila_1 #30256 üzenetére
Mitol lehet az, hogy egyes oszlopokban jol szamolja ossze, mig a mellette levo oszlopban neha jol neha meg total rosszul szamolja ossze a dolgokat? A keplet teljesen ugyanaz, nem valtozik meg...
negativ ertekek nem is lehetnenek. Az B oszlop jo, mig a C es D ertekei nem valosak. Esetleg valami javaslat, hol ronthattam el?
-
-
leepu
újonc
válasz
Delila_1 #30245 üzenetére
Köszönöm Delila és lappy hogy szántok rá időt, sajnos most dolgozok és csak éjszaka tudom megpróbálni, de aggaszt amit Te is írtál hogy egy sorban több tartományt hogy venné figyelembe. Az nem tudom segitene-e ha transzponálnám a táblázatot és utána a szöveges cellákat üressé tenném, csak a számot tartalmazóra van szükség.
-
Sweetraver
csendes tag
válasz
Delila_1 #30061 üzenetére
Köszönöm szépen!
De sajnos valami nem jó, nem jeleníti meg a megjegyzést :S Azt írja, hogy Compile error: Expected End Sub. - Lezártam egy End Subbal, most jó. Azt semmiképp nem megoldható, hogy az eredetit is megjelenítse?Közben találtam olyat, hogy Korrektúra-Változások követése. Itt állítgattam, s létrehozott egy Előzmények fült, plusz a cellában is létrehoz megjegyzést. Ez tök jó lenne, mert megjelenti a volt és a van állapotot is ezek a külön fülön.
Azonban amint rámentek, eltűnik ez a fül és a megjegyzés is. Miért? Hogyan tudom megcsinálni, hogy maradjon? Ha megnyitom akkor sincs ott. Bár ha újra rámegyek erre a Változások követésére s újra beállítom akkor látom a régebbi változtatásokat is. -
stivi1g
tag
válasz
Delila_1 #30008 üzenetére
Köszönöm!!
Annyit még kérhetek , hogy most így csak akkor küldi a rendszámot a tartalék munkalapra ha billentyű paranccsal viszem be a szöveget.
Viszont ha törlöm vagy módosítom dolgozik -ra az adott rendszám tevékenységét, akkor is ott marad a tartalék állományba a rendszám. Megoldható valahogy hogy akkor eltűnjön?? Vagy akkor vigyem be amikor már tuti hogy tartalék?
Tényleg nagyon köszönöm amit eddig segítették nem akarok pofátlan lenni..
-
Louro
őstag
válasz
Delila_1 #30000 üzenetére
Bocsi, az régi beidegződés, mert az elején még több cellába akartam a képletet beszúrni.
De megnézem Range-ek nélkül.
Azért akartam az Application.SumProduct-tal megoldani, mert a script-ben azt használok a többi helyen. Azért, hogy ne kelljen utána felülírnom önmaguk értékeivel a cellákat. (Ne képletek maradjanak a táblázatban.)
-
Louro
őstag
válasz
Delila_1 #29997 üzenetére
?activecell.formula
=SUMPRODUCT(Y5:AI5,Y14:AI14/SUM(Y5:AI5))A makrórögzítő azért nem jó, mert hivatkozásokat tesz be. Én meg olyanra akarom csinálni, azért a sok változó, hogy ha beszúrnak új sorokat, akkor még mindig a megfelelőekkel számoljon. Nem tudom azt mondani, hogy FormulaR1C1.
Rögzítővel:
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT(R[-10]C[-10]:R[-10]C,R[-1]C[-10]:R[-1]C/SUM(R[-10]C[-10]:R[-10]C))" -
biker
nagyúr
válasz
Delila_1 #29967 üzenetére
szia!
ez fut olyan 6-7 perce, nem tudom, mi lesz a vége, de most nézem, a B oszlopot a termék nevekkel felülírja #values-al, ami nem jó jel, a K oszlopba 1 1 1 1 2 2 2 és hasonlók kerülnek be
Kíváncsi leszek, mi lesz a végeredmény, ha lefut (core i7 16gb ram macbook pro) -
bsh
addikt
válasz
Delila_1 #29967 üzenetére
én így oldottam meg:
ez a K oszlop (cikkszám) alapján dolgozik, mivel ahogy látom, a megnevezés (B oszlop) lehet eltérő is ugyanahhoz a cikkszámhoz. (emiatt veszélyes is a makróm, mert törli a sorokat, és a többféle megnevezésekből csak az első marad meg, a többi elvész)
Sub flt()
lastrow = Me.UsedRange.Rows(Me.UsedRange.Rows.Count).Row
Call Me.UsedRange.Sort(Me.Columns("K:K"), xlAscending, Header:=xlYes)
i = 2
While i <= lastrow
o = 1
While Me.Cells(i, 11) = Me.Cells(i + 1, 11)
'kategóriák külön oszlopokba (AE, AF, AG, stb.)
Me.Cells(i, 30 + o) = Me.Cells(i + 1, 30)
'vagy kategóriák AD oszlopba, vesszővel elválasztva
'Me.Cells(i, 30) = Me.Cells(i, 30) & ", " & Me.Cells(i + 1, 30)
Me.Rows(i + 1).Delete
o = o + 1
lastrow = lastrow - 1
Wend
i = i + 1
Wend
End Sub -
-
batmanéhes
tag
válasz
Delila_1 #29862 üzenetére
(nagyon nem tudok egyetérteni ezzel a megoldással, mert a cél az volt, hogy be legyen írva elé a 06, nem pedig az, hogy úgy látsszon, mintha be lenne írva elé. elég zavaró tud lenni egy ilyen "kamuzás", nem teljesen értem miért pont te javasolsz ilyet. értem, hogy előtted már megválaszolták helyesen, csak általában furcsállottam)
-
MCGaiwer
addikt
válasz
Delila_1 #29750 üzenetére
Szia!
Kicsit módosítottam a táblázaton.
Felmerült egy újabb funkció:
Egy olyan macróra lenne szükségem, ami egy adott kijelölt területen számolja össze a ledolgozott napok számát valamint azokat a napokat, amiken valmiért dolgozni kellett volna, de az illető nem volt (szabadság, betegség stb)
-
-
bteebi
veterán
válasz
Delila_1 #29754 üzenetére
Nem kell azonosnak lennie. Nyilván időt veszít azzal, hogy minden sorban a UsedRange széléig megy, de még mindig sokkal jobb, mintha a teljes sort (256 vagy 16384 cella) végignézné. De akár azt is megtehetné, hogy minden sornak megnézi a jobb szélét, és csak addig menne a makró:
oszlopig = Cells(sor, Columns.Count).End(xlToLeft).Column
Persze ha teljesen fix a táblázat, akkor jó (gyorsabb), ha csak a fix tartományok vannak megadva.
-
Zimmy88
tag
válasz
Delila_1 #29751 üzenetére
Szia!
Köszi a tippet! Kipróbáltam, és lefuttattam a következő makrót. Viszont két dolog kellene még bele:
az egyik, hogy először kijelölje azokat a munkalapokat, amin végre kell hajtani a műveletet (B1 cella ha adott szöveget (pl "ezkell") tartalmaz, csak akkor kell rögzíteni az értékeket és különmenteni a fájlt),
a másik, pedig hogy értékrögzítés után, kimentés előtt ki kellene törölni pár felesleges oszlopot az E és a W közül (oszlop sorszámát tudom megadni).
Más: elég lassan futott a makró, 18-20 másodpercig tartott, mire "kidobott" egy kész munkalapot külön fájlba. Mivel lehetne gyorsítani esetleg? 30-40 munkalapnál ez elég hosszú idő...Sub mm()
Dim lap As Integer, r As Range, nev As String, utvonal As String
Dim terulet As Range
utvonal = "D:\kiment\"
For lap = 1 To Worksheets.Count
Sheets(lap).Select
Set terulet = Range("E8:W9,E12:W14,E16:W17,E20:W22,E25:W30,E33:W35,E37:W39,E41:W43,E45:W46,E49:W50,E52:W59,E62:W67,E69:W72,E75:W76,E81:W82,E85:W90,E93:W95,E98:W100,E102:W103,E105:W105,E107:W109,E112:W117,E120:W120,E123:W124,E129:W130,E132:W132")
For Each r In terulet
Range(r.Address) = r.Value
Next
nev = ActiveSheet.Name
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=utvonal & nev & ".xlsx"
ActiveWindow.Close
Next
End Sub -
csferke
senior tag
válasz
Delila_1 #29637 üzenetére
Köszi Delila!
Időközben én is alkottam valamit ="04."&MONTH(A1)+1&"."&YEAR(NOW()).Picit nyakatekert.
Az EOMONTH() sokkal egyszerűbb. Mindig van még mit böngésznem az Excel help-ben.De azért, hogy ne legyen egyszerű az élet, újabb követelménynek kell, hogy megfeleljen az új dátum.
Tehát a következő hónap 3.-10.-ig az új dátumban nap és munkanap legyen, nem lehet szombat vagy vasárnap. -
m.zmrzlina
senior tag
válasz
Delila_1 #29621 üzenetére
Nagyon köszönöm. Szépen működik. Sok finomhangolni való van rajta olyan dolgok miatt amit nem írtam le a kérdésben (így is hosszú volt) de alapvetően jól dolgozik.
A lényeg, hogy a létrehozott tartományban már sokkal könnyebb automatizálni a keresést és ez nagy segítség.
Köszi még egyszer, jár a
-
karlkani
aktív tag
válasz
Delila_1 #29567 üzenetére
Ez gyakorlatilag egy jelenléti ív. A ledolgozott órákat összegzem az általad készített makró segítségével. Eddig ugye a tartományt kézzel jelöltem ki, kihagyva a hétvégi napokat, stb. Most, ugye szín szerint összegzi az órákat, tehát nem kell minden hónapnál ezzel bajlódnom. Ellenben a képlet másolásánál, majd beillesztésénél másik cellába marad a kimásolt képletben szereplő tartomány. Ezt minden esetben módosítani kell, nem oldható meg úgy, mint az egyszerű összeadásnál?
Eszembe jutott még valami. Ebben a tartományban két szín van használatban (3, 33), kézzel állítom be. Ha minden betűszínt a 33-as színkódra állítom, megoldható az, ha az adott cella mellett eggyel balra levő cella betűszíne 36-os színkódú (hétvégi napok), akkor a betűszínt módosítsa 3-as színkódúra? Így ezzel sem kellene foglalkoznom a továbbiakban.
Végül, hogy lett a SumByColor-ból SubMyColor?
-
poffsoft
veterán
-
róland
veterán
válasz
Delila_1 #29556 üzenetére
Igen, én rontottam el az ide beírt függvényt. Helyesen:
=INDEX($A:$D;HOL.VAN($H2;$A:$A;1);3) vagy ...);4)
Az én kérdésemben egy céges munkarend készítő táblázatról van szó. Az adott munkahelyhez/munkakörhöz tartozó munkarend egy táblázat adott lapján szerepel. Amennyiben változás van úgy az adott lap következő sorába kerül a változás kezdő dátuma és a munkakezdés/munkaidő vége értékek. (Azaz mindig emelkedő sorrendbe rendezett lesz a dátum.)
-
róland
veterán
válasz
Delila_1 #29530 üzenetére
Még egyszer köszönöm!
Közben alaposan átnéztem a HOL.VAN függvény súgóját és sikerült még egyszerűsíteni a keresést:
=INDEX(HOL.VAN($H2;$A:$D;1);3) valamint ...);4)-re a két változatban.
A lényeg, hogy a HOL.VAN függvény utolsó paramétereként "1"-et megadva pontos egyezést, vagy legközelebbi kisebb értéket keres.
-
válasz
Delila_1 #29523 üzenetére
Sima lookup-nál nincs ilyen paraméter.
Érdekes módon a lookup (obsolete) működik, de a vlookup nem és az index+match sem.
Debugoltam egy kicsit és ez fogadott:
Named Range-ek:
src_s1 =MATCH(choises, src_a, 0)
src_s2 =INDEX(src_b,sch_s1)
src_s3 =IFERROR(sch_s2,0)=count(src_s1) -> 2
=counta(src_s1) -> 10
Eddig jó=count(src_s2) -> 1
=counta(src_s2) -> 1
Ez már nem jó...És a végén természetesen a SUM sem jó:
=SUM(src_s3) -> 3 (az első elem)Az INDEX valahogy elcseszi a tömb struktúrát (pedig ha lehúzom excelben a 10 mezőt, akkor jól kiírja az elemeket)
-
TrollBalint
addikt
válasz
Delila_1 #29516 üzenetére
Hello,
bocsánat, az excel az 2013-as verziójú.
A makrót szeretném elkerülni, reménykedtem, hogy van valami beépített függvény, vagy akár több is, amiket, ha egymásba ágyazunk, akkor megoldható, hogy egy tartomány összes sorát keresse meg egy másik tartományban, és amit megtalált, ott X oszloppal eltolt cella tartalmát adja össze. Hasonlóan, mint az index/match, csak nem szeretném minden sorra külön megírni a képletet.
Természetesen a segítségedet köszönöm, és mint egy B verziót, el is mentem magamnak
Új hozzászólás Aktív témák
- PlayStation 5
- A fociról könnyedén, egy baráti társaságban
- Óvodások homokozója
- Melyik tápegységet vegyem?
- Milyen autót vegyek?
- Kerékpárosok, bringások ide!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Linux kezdőknek
- Lecsap az S26 Ultra az Exynos 2600-ra
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 256 GB-100%-3 hó gari!
- BESZÁMÍTÁS! MSI B760 WIFI i9 14900KF 32GB DDR5 1TB SSD RTX 3090 Trinity OC 24GB LIAN LI PC-O11D 750W
- 20.000 - tól RÉSZLETFIZETÉS. BANKMENTES. Új noblechairs EPIC műbőr FEKETE - KÉK . 2 év garancia!
- 10magos! Fémvázas! HP EliteBook 860 G9 i7-1255U 16GB 512GB 16" FHD+
- GYÖNYÖRŰ iPhone SE 2022 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3366
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő