-
PROHARDVER!
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
-
zsolti_20
senior tag
válasz
Sprite75 #44897 üzenetére
Sikerült közben VBA-val megoldanom.
Bemásolom ide hátha valakinek hasznos lesz még.
Sub kecske()
Dim i As Integer
Dim x As Long
Dim counter As Integer
counter = 10
For i = 9 To 20
x = Range("E" & i & ":J" & i).SpecialCells(xlCellTypeBlanks).Count
Cells(i, 1).Value = x
If x < 6 Then
Range("D" & i & ":J" & i).Copy
Range("AA" & counter).PasteSpecial Paste:=xlPasteValues
counter = counter + 1
End If
Next i
End Sub
-
Sprite75
tag
válasz
Fferi50 #44891 üzenetére
Sajnos hibaüzenetet kapok a táblázat bezárásakor.
Hiba
Beirtam hogy
Public kovido As Date
Valamit az egyik időzítő makró első sorába ezt
If kovido>Now Then Exit SubNem az a gond, hogy ugye két időzítő is van, az egyik 2 percenként a másik 15 percenként ?
Azt hogyan kellene hogy mindkét időzítőt leállítsa bezáráskor? -
Fferi50
Topikgazda
válasz
zsolti_20 #44893 üzenetére
Szia!
Szerintem 2 malomban őrölünk. A képlet akkor is működik, ha 2, akkor is ha 12 a sorok száma. A lényeg, hogy az altáblák első oszlopa legyen egyenlő a főtábla első oszlopával, valamit az első sorok tartalmazzák a számokat.
Csak mindig a tartományokhoz kell igazítanod a legelsőt és utána húzhatod ameddig szükséges.
Ha felteszel egy mintafájlt két munkalappal, különböző kiindulási táblákkal, akkor szívesen megmutatom, hogyan gondoltam.
Üdv. -
Fferi50
Topikgazda
válasz
Tybee21 #44892 üzenetére
Szia!
FKERES függvény gondolom ott is van. Nézd meg a súgóban, hogyan működik.
Persze az gond lehet, hogy csak az első találatot adja vissza. Ha az is fontos, hogy darabra meglegyen, mert nem egyszer fordulhat elő az adószám/számlaszám (ez utóbbiból talán csak egy lehet), akkor a Darabteli függvényt használhatod.
Üdv. -
Tybee21
senior tag
Sziasztok!
Valószínűleg nem olyan bonyolult, de nem vagyok a legjobb exceles. Újabb, Office 365, magyar nyelvű verzió.Adott 2 már egészen hasonló formátumra hozott táblázat.
A könnyebb megértés kedvéért. Számlákról van szó. Az egyik az online felületről leszedett adat. a másik az én könyvelésem adatai.
Egyik munkalapon (már átalakítva) adószám-számlaszám-nettó-áfa bruttó
Másik munkalapon szintén ugyanez, szükség esetén megoldható, hogy ugynzokban az oszlopokban legyen, de most még nem teljesen ugyanott vannak, viszont a formátum ugyanaz, tehát pl. adószámból csak az első 8 karakter, mert az a fontos.
Szóval azt szeretném elérni, hogy összevesse, hogy ami az egyiken van, van-e a másikon is teljes egyezőséggel. Tehát visszadna pl. Első oszlopba számlaszámot és utána mellé, hogy igen minden adat egyezik, majd persze fordítva is. De azt már, ha rájönnék, hogy találja meg az összes egyezőséget. Ami fontos, hogy ami az egyik munkalapon x sorban van, az nem biztos, hogy másik munkalapon is x sorban van, hanem bárhol lehet. Így a két táblázatból ki tudnám szűrni gyorsan, hogy mi az eltérés, és nem kellene annyit keresgélni, csak konkrétan ránézni az eltérésekre. -
Fferi50
Topikgazda
válasz
Sprite75 #44890 üzenetére
Szia!
"Szóval az kivitelezhető, hogy a rendelős táblázat bezárásakor leálljon az időzítő ha az excel továbbra is nyitva marad egy máik táblázat miatt?"
Természetesen. Ehhez egy leállító makrót kell meghívni a fájl bezárásakor.
A kovido változód legyen Date típusú.
Az időzítés indításakor meg kell nézni, hogy a korábban beállított időzítés élő-e még, hogy ne indítson rá egy újabbat.
Tehát az első sor az időzítő makróban:
If kovido>Now Then Exit Sub ' azaz nem indítunk újabb időzítést, ha még nem futott le.
A leállító makró:Sub idoleall()
If kovido > Now Then Application.OnTime kovido, "idozit", , False ' ide a saját időzítő makród nevét írd
End Sub
A makrót a Thisworkbook modulba a Workbook_BeforeClose eseménykezelőbe kell betenni:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
idoleall
ThisWorkbook.Saved = True
End Sub
Remélem sikerül.Üdv.
-
Sprite75
tag
válasz
Fferi50 #44889 üzenetére
Még szerencse, hogy a makrós tudásomnál a kitartásom sokkal nagyobb
Köszönöm szépen az ötletet. Először alíg értettem de csak sikerült értelmeznem amit írtál.
Sőt tovább is fejlesztettem a dolgot.
Van ugye a File mentés automatikusan és a PDF mentés automatikusan.
Mindkettőnek külön-kölön időzítőt hoztam létre, hogy külön lehessen állítani az idejüket, hogy milyen gyakran fussanak le.
Kipróbáltam, hogy ha megnyitok ezen a rendelős táblázaton kívül mást, akkor valóban szünetel az automatikus mentés, ha a másik táblázat aktív.Ez is volt a cél, hogy ne legyen hibaüzenet, ha más táblázatban is dolgoznak, miközben meg van nyitva a rendelés felvevős táblázat.
Még egy apró probléma lenne, ami eddig is megvolt, de együtt tudott vele élni a kollega, de hátha megoldható ez is:
Amikor megnyit egy másik táblázatot amikor nyitvan van a rendelős tábla, és ilyenkor bezárja a rendelős táblázatot, de a másik nyitva marad, mert abban még akar dolgozni, akkor az történik, hogy a mentés időzítés lejártakor magától megnyílik ujra a rendelős táblázat és lefut a mentés.
Ilenkor be szokta zárni teljesen az excelt, és újra megnyitja a másik táblázatot amiben dolgozni szeretne.
Szóval az kivitelezhető, hogy a rendelős táblázat bezárásakor leálljon az időzítő ha az excel továbbra is nyitva marad egy máik táblázat miatt?
Íme a jelenlegi állapot az automatikus mentéses makrókról A makro txt ben
[kép]Köszönöm az eddigiket
-
Fferi50
Topikgazda
válasz
Sprite75 #44886 üzenetére
Szia!
Próbáld ki a következőt:
A mentési makrót tartalmazó modul elejére, eljáráson kívül vegyél fel egy publikus változót.
Public sNev As String 'ez fogja tartalmazni a mentendő munkafüzet nevét.Private Sub Workbook_Open()
Modul1.sNev=Thisworkbook.Name 'Itt Modul1 helyére annak a modulnak a nevét írd, amelyikben definiáltad az sNev változót.
TimerStart
Application.OnTime Now + TimeValue("00:02:00"), "SaveThis"
End Sub
A mentési makrót módosítsd így:
Sub PDFautoment()
' PDFment Makró automata
If ActiveWorkbook.Name<> Modul1.sNev Then Timerstart: Exit Sub
lapnev = ActiveSheet.Name
Így a mentés csak akkor fog lefutni, ha az adott munkafüzet aktív, de az időzítőt továbbra is bekapcsolja.
Üdv. -
Fferi50
Topikgazda
válasz
zsolti_20 #44887 üzenetére
Szia!
Bocs, de mégis azt mondom, hogy próbáld meg a következőképpen:
A mindenkori oldalrovatot másold át mindkét altáblához.
Ha az 1-12 és a bontás fix, akkor a mutatott képlet továbbra is jó lesz, csak a főtábla sorainak a számát kell megváltoztatnod (az INDEX első paraméterének az utolsó száma, illetve az első HOL.VAN függvény második paraméterének az utolsó értéke. -- $A$1:$M$12 ill. $A$1:$A$12 -- az eredeti mintában, a 12-t kell átírnod a tényleges hosszra.)
Üdv. -
zsolti_20
senior tag
-
Sprite75
tag
válasz
Delila_1 #44880 üzenetére
Nekem az nem akar összejönni
Az Auto.ment.rendeles szöveget ezt én irtam így, az nem egy makro neve.
A mentés egy hálózaton található gépre történik \\KHAZASERV\Rendeles\PDF-RENDELES\ ebbe a mappába. Az elkészült file neve pedig ilyen formátumú Auto.ment.rendeles.2020.09.22. 07-37.pdf Amiben ugye a datumot, és az óra percet automatikusan irja a file nevébe a mentéskor.Ezért nem érem hogy mik lellene csinálni ebben az "Auto.ment" -nek?
If Left(ActiveWorkbook.Name, 9) = "Auto.ment" Then
-
#42308056
törölt tag
válasz
Fferi50 #44883 üzenetére
Nem jó sajnos, teljesen szétveri a táblázatot.
Az a baj ezzel az egész dátum konvertálással, hogy utána nem tudom ugyanazt az adatot kinyerni a cella típusának módosításával, hanem generál egy új számot a dátumból. Érthetetlen, hogy ezzel miért nem csináltak még valamit, amikor csv meg mindenféle adathalmaz kezelésére alkalmas a szoftver.
Oké, megvan a megoldás: WPS Office
-
Fferi50
Topikgazda
válasz
zsolti_20 #44882 üzenetére
Szia!
A két szétválasztó tábládat alapból ugyanolyan oldalrovattal kell megnyitni, mint amilyen a főtábládban van.
Ezután az INDEX - HOL.VAN párossal meg tudod keresni az odavaló adatot.
=INDEX(Főtábla, HOL.VAN(altábla második sor első cella (pl. a),Főtábla első oszlop,0),HOL.VAN(altábla.első sor második cella,Főtábla első sor,0))
Pl.
A képlet húzható lefelé és oldalt is.
Üdv. -
Fferi50
Topikgazda
válasz
#42308056 #44881 üzenetére
Szia!
Egy próbát megér szerintem:
Nevezd át a kiterjesztést txt-re. Ezután próbáld megnyitni. Ha minden igaz, akkor a szövegvarázsló fog előbukkanni. Itt beállítod, hogy tagolt, majd az oszlopok adattípusát is beállítod. A számokat szerintem ne általánosra vedd, hanem szövegre. Utána átalakítható majd számmá pl. 1-el való szorzással (Egy cellába beírsz egy db 1-est. CtrlC - kijelölöd a számoszlopot - irányított beillesztés értéket szorzással.)
Talán segít.
Üdv. -
zsolti_20
senior tag
Sziasztok! Segitseget szeretnek kerni, excel VBA-val kapcsolatban. Kicsit elakadtam es nem igazan talalom ra megoldast. Van ket csoportom ami 1-6 tart es 7-12-ig.
Az adatok vegyesen jonnek mixelve. Ezeket szeretnem szetvalogatni a kepen lathato modon. Lehetseges hogy ezutan kapok meg adatokat es ha bekerul egy extra sor mondjuk b es c koze akkor azt vala hogyan be kellene illeszteni ugy hogy az elozo adatokat ne vesszenek el vagy ne irja felul.Kep:
[link] -
#42308056
törölt tag
Sziasztok!
CSV-t szeretnék behúzni Excelbe, és az a gond, hogy sehogy sem működik jól.
1) Ha csak simán dupla klikkel megnyitom, egy fontos oszlopban néhány számból dátumot csinál.
2) Ha beolvastatom, a törteket tartalmazó cellákat üresen hagyja. Szerkesztőben megnéztem, az ilyen cellákra hibát dob:DataFormat.Error: Nem sikerült az átalakítás Number értékre.
Részletek:
3377.95
Ugye nekem a 3377.95 kellene belőle, gondolom a térköz zavarja meg előtte? Nincs erre egy egyszerű gomb, hogy a térközt hagyja figyelmen kívül?
Vagy a dátummá alakítást letiltani a francba? Megkeseríti az életem ez az erőszakos baromság.
-
lappy
őstag
válasz
scha_vagyok #44875 üzenetére
Vagy segedoszlop ami nézi a cella színeit és azokat már utána össze lehet adni
https://www.got-it.ai/solutions/excel-chat/excel-tutorial/sumif/sumif-color -
Fferi50
Topikgazda
válasz
scha_vagyok #44875 üzenetére
Szia!
Mi lenne, ha a fájlt feltennéd valahova, ahol meg tudjuk nézni?
Vagy priviben elküldenéd?
Üdv. -
lappy
őstag
válasz
scha_vagyok #44875 üzenetére
Nézd meg ezt
https://www.exceltrick.com/how_to/sum-cells-based-on-background-color/ -
scha_vagyok
friss újonc
Nincs több makró, csak a feltételes formázás. És mivel annyira nem értek hozzá, nem tudom, hogy tudom megmutatni, és cserébe azt sem értem, hogy mit jelent az Option Explicit és a hasonlók. Tudom, én vagyok a nagyon hülye, elnézést kérek.
Csak kellene valami, ami jól működik az előbb leírt helyzetre. Amúgy így néz ki -
Fferi50
Topikgazda
válasz
scha_vagyok #44871 üzenetére
Szia!
Van mások makró is a modulban?
Mert ebben nem látok hibát. Megmutatnád a modult. Esetleg máshol is van még makró? Mert a fordításkor mindent néz az interpreter.
Viszont, ha feltételes formázás van, akkor nem ad jó eredményt az Interior.Color, Helyettes a DisplayFormat.Interior.Color tulajdonságot kell használni.
Üdv. -
scha_vagyok
friss újonc
válasz
Fferi50 #44870 üzenetére
Jaj, nagyon hálás vagyok a segítségért! Inkább a helyzetet írom le, hátha akkor célirányosabban tudtok segíteni.
Egy 147 soros excelről van szó, bizonyos sorokban szerepel egy "X" (abban a sorban, amelyik a helyes válasz).
Az oszlopokba bemásolásra kerül a delikvensek által adott válasz (sok ilyen oszlop lesz).
Feltételes formázással csak az a sor lesz piros az oszlopban, ahol rossz helyre tette az "X"-et.
Meg kellene számolni, hogy hány piros cella van az oszlopban (majd utána kivonni a helyes válaszok számából).
Fenti modult nem én írtam, gondolom, látszik, hogy egyáltalán nem tudok programozni.
Nagyon köszi minden javaslatot, segítséget! -
Fferi50
Topikgazda
válasz
scha_vagyok #44869 üzenetére
Szia!
Elvileg jó a makró (már amit ide feltöltöttél). Nem lehet, hogy van benne valahol nem látható karakter valamelyik sor végén?
Definiáld légy szíves az nColor és nResult változókat is. (Persze ennek hiánya nem okozhatja ezt a problémát, de érdemes hozzászokni, mert a hibakeresésben segít. Modul elejére Option Explicit parancsot írj, akkor mindig kiköveteli az előzetes deklarálást.)
Üdv. -
scha_vagyok
friss újonc
Sziasztok! Segítenétek abban, hogy ez miért ad vissza "compile error expected end of statement" hibát? A vizsgált tartományban feltételes formázással kerülnek kijelölésre a kívánt cellák, ezeket kell összeszámolni, a mintacellát ugyanolyan színűre állítottam. Köszi előre is!
Function CountColor(Mintacella As Range, Tartomany As Range)
'Összeszámolja, hogy a mintaként jelölt háttérszínű cellából hány darab
'van a kijelölt tartományban.
Dim rngCell As Range
nColor = Mintacella.Interior.Color
nResult = 0
For Each rngCell In Tartomany
If rngCell.Interior.Color = nColor Then
nResult = nResult + 1
End If
Next rngCell
CountColor = nResult
End Function -
Fferi50
Topikgazda
válasz
napoleon2323 #44865 üzenetére
Szia!
Azt hiszem, az a baj, hogy C3 van az A3 helyett. A képletekben mindenütt abszolút (dolláros) A oszlopbeli cella legyen.
(Sajnálom, az én eredetileg beírt képletemben maradt benne ez a hiba, nem figyeltem kellőképpen.)
Üdv. -
Sprite75
tag
Sziasztok
Van ez a Rendelés Felvevő
táblázatunk amivel kapcsoaltban már kaptam egy jó párszor segítséget itt.Van benne egy jó pár macró, amelyek közül most bővítettem egy kicst ez egyiket, ami PDF-be menti az egyik lapot időközönként automatikusan.
Valamit van benne egy olyan is ami magát a táblázatot menti 2 percenként.Jól is működik mindaddig amíg a kollega aki használja, nem nyit meg más excel táblázatot a gépén. Ilyenkor, ha más táblázatban is dolgozik, és a Rendelés Felvevő is meg van nyitva akkor a makrós automatikus mentések lefutásakor hibaüzenet jelenik meg.
Szóval ez lenne a kérdésem, hogy lehet-e módosítani az alábbi makrókat úgy, hogy ne megyen ez hibaüzenet amikor más táblázat is meg van nyitva az adott gépen.
ThisWorkbook lapon ez van :
Private Sub Workbook_Open()
TimerStart
Application.OnTime Now + TimeValue("00:02:00"), "SaveThis"
End Sub
A két maró ez ami a PDF-es és a file mentést csinálja. Ezek a moduloknál vannakPublic kovido
Sub TimerStart()
kovido = Now + TimeSerial(0, 15, 0) '1 perces időzítési idő
Application.OnTime kovido, "PDFautoment", , True
End Sub
Sub PDFautoment()
' PDFment Makró automata
lapnev = ActiveSheet.Name
Sheets("Rendelés").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="\\KHAZASERV\Rendeles\PDF-RENDELES\Auto.ment.rendeles." & Format(Now(), "yyyy.mm.dd. hh-mm") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Sheets("Összesítve").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="\\KHAZASERV\Rendeles\PDF\Auto.ment." & Format(Now(), "yyyy.mm.dd. hh-mm") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Sheets(lapnev).Select
TimerStart
End Sub
Sub SaveThis()
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True
Application.OnTime Now + TimeValue("00:02:00"), "SaveThis"
End Sub
Remélem nem fogalmazatam nagyon bonyolultan
-
napoleon2323
tag
-
Fferi50
Topikgazda
válasz
napoleon2323 #44863 üzenetére
Szia!
Megmutatnád azt a cellaértéket, amelyiknél hiba jelentkezik?
Üdv. -
napoleon2323
tag
válasz
Fferi50 #44845 üzenetére
Szia!
Egyelőre a Te módszeredet próbálom, de valamiért az utolsó (G3-as cellába) #ÉRTÉK hibát dob. Próbálom ki kutatni mi lehet. De különben tökéletesen működik, köszönöm!
#44848 DeFranco: Kész táblát kell feldolgoznom, de jelezni fogom az adatokat begyűjtő Kollégának, hogy használják a lenyílós menü ötleted. Én is ettől tartok, hogy úgysem formátum alapján fogják tölteni a Kollégák... -
Fferi50
Topikgazda
válasz
Csanaky #44860 üzenetére
Szia!
A neveket a Képletek - Névkezelőben tudod megnézni.
"A képletekben egész sorok és oszlopok vannak"
Ez egyáltalán nem szerencsés - gondolj bele 1 milliónál több sor egy oszlopban... 16 ezer oszlop.
Gondold át, mennyi az a terület, amely a feladatokhoz szükséges és szűkítsd le konkrét tartományra a képleteket.
Üdv. -
Csanaky
csendes tag
válasz
Fferi50 #44858 üzenetére
Annyi bizonyíték van csak rá, hogy amennyiben azt szeretnék, hogy normálisan tudjanak benne dolgozni, akkor úgy kell megnyitniuk, amíg meg nem javul.
Rengeteg képlet van benne, mivel a havi riportot és annak a ppt-jét is ebből szolgáljuk ki. A nevek definiálását nem tudom, hogy tudom megnézni. A képletekben egész sorok és oszlopok vannak, főleg szumhatöbb, fkeres, vkeres.
Sajnos nem tudok mutatni belle semmit.
Köszönöm! -
Fferi50
Topikgazda
válasz
Csanaky #44856 üzenetére
Szia!
Ha más is megnyitja, mi a biztosíték arra, hogy szintén csökkentett módban fogja megnyitni???
Érdemes lenne még tudni, milyen képleteket és számításokat használsz, milyen nevek vannak definiálva, formázások stb. A képletekben egész sorok/oszlopok szerepelnek-e. Vannak olyan függvények, amelyek akkor is újraszámolódnak, ha bárhol máshol változás van.
Vannak-e benne rejtett munkalapok?
Esetleg privátban mutathatnál belőle valamit - Delilának is.
Üdv. -
Delila_1
veterán
válasz
Csanaky #44856 üzenetére
A formázások is sok helyet, időt foglalnak le. Sokan a teljes sort, vagy oszlopot formázzák, holott az adatok csak x sort és y oszlopot tartalmaznak.
Előfordul, hogy internetről letöltéskor képek kerülnek a fájlba, de nem látszanak, mert a szélességük, vagy magasságuk 0 értékű. Ezeket egyszerre törölheted az ugrás (Ctrl+g) menüben. Irányított, Objektumok egyszerre kijelöli az összeset, Delete billentyű törli mindet. -
-
Fferi50
Topikgazda
válasz
Csanaky #44854 üzenetére
Szia!
A csökkentett mód nem életbiztosítás...
Mekkora a fájlod mérete? Elképzelhető, hogy valamelyik cellába "piszok" került - oda nem illő adat.
Megnézheted a munkalapod méretét az F5 - Ugrás - Irányított - utolsó cella opcióval. Ha itt azt látod, hogy az adataidon túl, azoktól messze levő cellára ugrik, akkor az üres sorokat/oszlopokat kitörölve, újra mentve javulni kell a helyzetnek.
Kipróbálhatod a számolást manuálisra állítani. (Képletek - számolási beállítások - manuális). Ha ekkor gyorsul, akkor a képletekkel lehet gond. F9 -re újraszámol.
Üdv. -
Csanaky
csendes tag
Sziasztok!
Az egyik fájl nagyon lassú, kb 5sec, mire átugrik egyik celláról a másikra, pár perc után lefagy a kép, mindegy merre görgetek, vagy beírom, hogy melyik cellára ugorjon meg se mozdul, ha kilépek lefagy az excel. A fájl rengeteg adatok, képletet és think cell hivatkozást tartalmaz, újra összerakni hetekbe telne. Csökkentet módban tökéletes működik.
Tudnátok segíteni abban, hogy mitévő lehetek, illetve tudjátok, hogy a csökkentett mód milyen hátrányokkal, veszélyekkel jár?Köszönöm!
-
zsolti_20
senior tag
-
Fferi50
Topikgazda
válasz
zsolti_20 #44849 üzenetére
Szia!
Szerintem mégis egyszerűbb lesz, ha megpróbálod némi munkával a lehúzást. Erre gondoltam:
A $CJ$20 -$21-ben a sorszám elől kiveszed a $ jelet. Így ha húzod lefelé a képletet, akkor növekszik a sorszám is.
Az A9 cellára lehúzott képletben a Keres-cserél funkcióval kicseréled a CJ29-et CJ20-ra, a CJ30-at pedig CJ21-re. Ott már I178 vagy ilyesmi lesz, azt cseréled J172-re. stb.
Lehúzod A17-ig. Majd megismétled a cseréket.
Elismerem, hogy ez nem feltétlenül a leggyorsabb megoldás. DE az Indirekt vagy Eltolás függvények megfelelő paramétereinek a kiszámolgatása is időigényes. Figyelembe kell venni az ismétlődési periódust mind a soroknál, mind az oszlopoknál.
Üdv. -
zsolti_20
senior tag
Sziasztok! Szeretnék pár cellát átmásolni a függvénnyel együtt, de úgy hogy kövesse a cella mozgásokat. Kicsit bonyolult dologról van szó, de megcsinálni manuálisan kb 10 óra lenne. Gondoltam hátha van rá valami egyszerűbb módszer.
Ha lefelé húzom akkor nagyon szépen leköveti az I171-et és tudja emelni ahogy én szeretném I172-re. BJ-nél is nagyon szépen működik a dolog.
Mondjuk A1 cellából indulva az A2 cellára húzva már problémásabb, mivel csak a $CJ-nek kellene emelkednie 20-ról 21-re és 21-ről 22-re. Ezt egészen Az A8 celláig és ott már a $CJ-nek 27-nek és 28-nak kellene lennie.A9 cellához érve szeretném a $CJ értékét újra 20-ra és 21-re beállítani, de az I172-nek változnia kellene J172-re és a BJ171-nek BK171-re. Ezt tartva egészen A16 celláig.
ÉS így tovább. Van összesen 20 oszlopom, eléggé meredek így egyesével megoldani.=(IF(AND('Task'!I172>=$CJ$20;'Task'!I172<=$CJ$21);IF($BJ171<$CJ$21;$BJ171-'Task'!I172;$CJ$21-'Task'!I172);IF(AND('Task'!I172<$CJ$20;$BJ171>=$CJ$21);$CJ$21-$CJ$20;IF(AND('Task'!I172<$CJ$20;$BJ171<$CJ$21;$BJ171>$CJ$20);$BJ171-$CJ$20;"0"))))*24
-
DeFranco
nagyúr
válasz
napoleon2323 #44847 üzenetére
amúgy neked egy kész táblát kell feldolgozni vagy ezeket ez után fogják tölteni?
mert ha utóbbi, akkor egyszerűbb lenne külön oszlopokba töltetni velük (ahány szakaszra bontható a napi munka x2 oszlop), dobsz a cellákra egy érvényesítést, hogy csak egy lenyíló menüből lehessen választani mondjuk 10 perces lépésközzel időpontot kezdésre és végére, onnan meg már könnyű kimatekolni az időt, ha kötött formával tudsz dolgozni.
mert ha szabadszavasra hagyod, tuti lesz olyan furijankó, aki bedobál neked idézőjelet, kacsacsőrt, sortörést, hórusz szemét a cellába meg lehagyja a nullát csak hogy biztos betérdeljen valahol az automatika.
-
Delila_1
veterán
válasz
napoleon2323 #44838 üzenetére
A 44844--esben elírtam a helyettesítő képletet.
Helyesen:=HELYETTE(A2;KARAKTER(10);" ")
-
Fferi50
Topikgazda
válasz
napoleon2323 #44843 üzenetére
Szia!
Az A oszlopban levő tételeket a következőképpen szedheted szét B - C - D - E - F - G oszlopokban a megfelelő időre:
A képletek az első sorra vonatkoznak, utána húzható lefelé:
B1 cella:=IDŐÉRTÉK(BAL($A1;SZÖVEG.KERES("-";$A1)))
C1 cella:=VÁLASZT(HOSSZ($A1)-HOSSZ(HELYETTE($A1;KARAKTER(10);""))+1;IDŐÉRTÉK(HELYETTE(JOBB($A1;HOSSZ($A1)-SZÖVEG.KERES(" ";$A1));"-ig";""));IDŐÉRTÉK(HELYETTE(JOBB(BAL($A1;SZÖVEG.KERES(KARAKTER(10);$A1)-1);HOSSZ(BAL($A1;SZÖVEG.KERES(KARAKTER(10);$A1)-1))-SZÖVEG.KERES(" ";BAL($A1;SZÖVEG.KERES(KARAKTER(10);$A1)-1)));"-ig";""));IDŐÉRTÉK(HELYETTE(JOBB(BAL($A1;SZÖVEG.KERES(KARAKTER(10);$A1)-1);HOSSZ(BAL($A1;SZÖVEG.KERES(KARAKTER(10);$A1)-1))-SZÖVEG.KERES(" ";BAL($A1;SZÖVEG.KERES(KARAKTER(10);$A1)-1)));"-ig";"")))
D1 cella:=VÁLASZT(HOSSZ($A1)-HOSSZ(HELYETTE($A1;KARAKTER(10);""))+1;"";IDŐÉRTÉK(BAL(JOBB($A1;HOSSZ($A1)-SZÖVEG.KERES(KARAKTER(10);$A1));SZÖVEG.KERES("-";JOBB($A1;HOSSZ($A1)-SZÖVEG.KERES(KARAKTER(10);$A1)))-1));IDŐÉRTÉK(BAL(JOBB($A1;HOSSZ($A1)-SZÖVEG.KERES(KARAKTER(10);$A1));SZÖVEG.KERES("-";JOBB($A1;HOSSZ($A1)-SZÖVEG.KERES(KARAKTER(10);$A1)))-1)))
E1 cella:=VÁLASZT(HOSSZ($A1)-HOSSZ(HELYETTE($A1;KARAKTER(10);""))+1;"";IDŐÉRTÉK(HELYETTE(JOBB(JOBB($A1;HOSSZ($A1)-SZÖVEG.KERES(KARAKTER(10);$A1));SZÖVEG.KERES(" ";JOBB($A1;HOSSZ($A1)-SZÖVEG.KERES(KARAKTER(10);$A1)-2)));"-ig";""));IDŐÉRTÉK(JOBB(BAL($A1;SZÖVEG.KERES("-ig";$A1;20)-1);HOSSZ(BAL($A1;SZÖVEG.KERES("-ig";$A1;20)-1))-SZÖVEG.KERES(" ";$A1;12))))
F1 cella:=VÁLASZT(HOSSZ($A1)-HOSSZ(HELYETTE($A1;KARAKTER(10);""))+1;"";"";IDŐÉRTÉK(BAL(KÖZÉP($A1;SZÖVEG.KERES(KARAKTER(10);$A1;25)+1;HOSSZ($A1));SZÖVEG.KERES("-";KÖZÉP($A1;SZÖVEG.KERES(KARAKTER(10);$A1;25)+1;HOSSZ($A1)))-1)))
G1 cella:=VÁLASZT(HOSSZ($A1)-HOSSZ(HELYETTE($A1;KARAKTER(10);""))+1;"";"";IDŐÉRTÉK(JOBB(BAL(C1;SZÖVEG.KERES("-ig";C1;20)-1);HOSSZ(BAL(C1;SZÖVEG.KERES("-ig";C1;20)-1))-SZÖVEG.KERES(" ";C1;12))))
A cellákat természetesen idő formátumúvá kell tenned, hogy megfelelő formában lásd az értékeket.
Ezután már gondolom nem probléma a munkában töltött idő kiszámítása.
Azért ilyen hosszú a képlet, hogy mindhárom esetben használható legyen, függetlenül a beírt időadatok formájától.
Remélem, tudod használni.
Üdv. -
Delila_1
veterán
válasz
napoleon2323 #44838 üzenetére
Kissé macerás a dolog.
1. Törlöd a szövegből a következőket a csere funkcióval: -tól, -től, -ig.
2. A HELYETTE függvénnyel átalakítod a sortöréseket szóközökké:=HELYETTE(A2;KARAKTER(10);" ")10)," ")
, ahol az A2 cella tartalmazza az időpontokat
3. Kijelölöd a tartományt, másolod Ctrl+c-vel, majd önmagára értékként beilleszted.
4. Szövegből oszlopok, Tagolt, határoló jel szóköz, OK.Külön oszlopokba kerültek a kezdő és végző idők, amikkel már tudsz számolni.
Érdemes (gyakorlás után) makróba rögzíteni. -
Fferi50
Topikgazda
válasz
napoleon2323 #44841 üzenetére
Szia!
De a -tól/től és az -ig szerepel mindig? Vagy legalább a kötőjel az időpontok között?
Üdv. -
DeFranco
nagyúr
válasz
napoleon2323 #44838 üzenetére
az időpontok fixek, ahogy leírtad, vagy csak példát hoztál egyes-kettes-hármas tagolásra?
lehetne mondjuk:
8:20-16:40 vagy 8:00-15:00 is? vagy ha egyes tagolás akkor mindig fix 8:10-16:30?
-
napoleon2323
tag
Sziasztok!
A következő helyzetben kérném a segítségeteket:
Egy elég egyszerűnek hangzó, de annál bonyolultabb feladat áll előttem (legalábbis számomra bonyolult).:
Home office-os munkaidő számítás egyszerűsítése a cél:
3 féle opció lehetséges a munkaidő jelölésére (természetesen teljesen vegyesen fordulnak elő...) - a * sortörést jelöl cellán belül
8:10-től 16:30-ig
7:45-től 12:00-ig*
12:15-től 16:50-ig
7:55-től 12:05-ig*
12:20-tól 14:00-ig*
15:25-től 18:00-ig
Na szóval ezekből kéne megkapni hogy hány órát dolgozott a Kolléga.
Voltak ötleteim - "Szövegből oszlopba" , BAL, JOBB függvény használata, de sajnos eddig nem értem el "áttörő sikert"...
Tudnátok segíteni esetlegesen makró nélkül megoldani ezt a feladatot (ha csak azzal kivitelezhető, az sem probléma)?
Köszönöm előre is számotokra!!! -
DeFranco
nagyúr
válasz
huliganboy #44833 üzenetére
ha biztosra akarsz menni akkor akár egy segédoszlopot is bevezethetsz ahol darabteli/összefűz-zel megszámolod hogy van-e ismétlődés, és feltételnek szabod meg hogy ha van akkor azokat "jelölje" törlésre ahol a megjegyzés üres.
-
Fferi50
Topikgazda
válasz
huliganboy #44833 üzenetére
Szia!
az "ismétlődések eltávolítása" funkció mindig a hátrább lévő sorokat törli?
Igen.
Üdv. -
huliganboy
addikt
Sziasztok!
Rég jártam erre...
Lenne egy 3000+ sort és 30 oszlopot tartalmazó excel adatbázisom, amit folyamatosan + sorokkal bővítünk. Viszont megjelent egy olyan probléma, hogy bizonyos sorok ismétlődnek, amit eddig az "ismétlődések eltávolítása" lehetőséggel megoldottam, de annyiban más a helyzet, hogy a korábbi sor esetén a megjegyzés rovatba került adat, és az utóljára bekerült egyedi azonosítóval ellátott sort, mely nem tartalmaz megjegyzéseket kellene eltávolítanom..
Hogy tudom megoldani?
Vagy maga az "ismétlődések eltávolítása" funkció mindig a hátrább lévő sorokat törli?
-
Fferi50
Topikgazda
-
jackal79
aktív tag
Sziasztok!
Még egy dolog lenne!
Van egy elég nagy adatbázis, ahol a cellákban lévő szövegek a Cellastílusok/Jó/Rossz szerint vannak kategorizálva. Ugye így a cella kitöltése vagy zöld lesz vagy piros.
Az Excelben megoldható az, hogy pl a pirossal kitöltött cellákra szűrni vagy kilistázni?
Köszönöm!
Üdv -
jackal79
aktív tag
Sziasztok!
Segítségetek szeretném kérni!
Adott egy táblázat, ami havi szinten naponta húz be adatokat. Átlagot szeretnék számolni, de ugye ott ahol még nincs adat (adott nap utáni napok) 0 fog megjelenni, de ez nem a valós átlagot mutatja. Megoldható, hogy csak azokat az értékeket vegye figyelembe, ami nem 0?
Köszönöm! -
hushshs
csendes tag
válasz
Fferi50 #44822 üzenetére
Hú. Pár kérdés:
1. A makronál ha beírom azt az Immediate ablakba alul, akkor ha Entert ütök akkor csak ott lesz sortörés.
2. a makro mit csinál amúgy? ez csinálja azt, mintha beleklikkelnék a cellába és ettől frissül?
3. Ha megcsinálom amit írtál így =JOBB(A1;1), akkor asszem az lesz a vége, hogy kiszedi a cellából azon üres sorokat is, amik nem a végén vannak. -
Fferi50
Topikgazda
válasz
hushshs #44819 üzenetére
Szia!
Úgy tűnik, a hagyományos keres-cserél funkció nem működik.
Kis kerülővel:
Egy üres cellába másold ki az utolsó karakterét az egyik ilyen cellának:
=JOBB(A1;1)
Ezután egy segédoszlopban a képlet:
=HELYETTE(A1;B1;"")
Ezt végighúzva a segédoszlopban eltűnnek a plusz sortörések.
Az eredményt másolás - irányított beillesztés értékként rögzíted és visszamásolhatod az eredeti helyére.
Makróval - egyszeri használatra -:
Alt F11 - View - Immediate window
Ide írd be:
ActiveSheet.Usedrange.Replace vblf, "" Enterrel zárd le.
A soremelések el fognak tűnni.Üdv.
-
Slowman
aktív tag
Sziasztok,
Excel valamilyen módon (gondolom valami véletlen billentyű kombináció miatt) alapbeállításként új lap, új munkafüzet megnyitása esetén rácsvonalak nélkül nyílik meg.
Nagyon bosszantópróbáltam leírást keresni de nem találtam sajnos. Ha olyan file-t nyitok meg ami korábban ezt a hibát nem produkálta akkor is az új munkalapot ua. rácsvonalak nélkül nyitja meg.
A Nézet→Megjelenítés→ Rácsvonalak vagy a Lapelrendezés→Munkalap-Beállítások→ Rácsvonalak→Képernyőn eléréseket ismerem de ezek sajnos az alapbeállítást nem befolyásolják.
Van valakinek esetleg erre hibára megoldási javaslata vagy már ismert módszere?Köszi!
-
hushshs
csendes tag
Sziasztok. Sok cella alján van egymás után két ALT+ENTER (szóval extra üres sor, sortörésnek nevezik talán). Ezeket hogy tudnám cserével eltüntetni az összesből? Excel 2016ot használok.
-
Melorin
addikt
Sziasztok!
Lehet, hogy bugyuta kérdéssel fordulok hozzátok, kérlek nézzétek el nekemVan két oszlop, 'I' az ára valaminek 'J' a pénzneme. HUF, USD, EUR
Szeretném USD-be átszámolni az összes árat. A HA függvényt használnám de ott csak két eredmény lehet, de nekem ugye három kéne. Hogy tudnám ezt megvalósítani?
A jelenlegi képletem így néz ki:
=HA(J2="USD";I2*1;I2*0,0033)
Ezt a függvényt végighúztam az összes sor mellett és végül nyomtam egy szummázást.
Sajna ha EUR is lenne valamelyik sorban akkor azt fújhatnám.
Tudtok erre valami megoldást?
Köszi! -
Mutt
senior tag
válasz
TheSaint #44814 üzenetére
Szia,
Egy főtáblából szeretnék adott oszlopokat lekérdezni olyan módon hogy a sorok mellé szabadon lehessen megjegyzéseket irogatni és a főtábla változásakor a megjegyzés maradjon...
Megoldás lehet, hogy
1. a főtáblához is hozzáadjuk a gépelt megjegyzést vagy
2. egy segédtáblában tároljuk a megjegyzéséket a főtábla megfelelő sorára mutató azonosítóval együtt.MIndkét megoldás makrót igényel valószínű Worksheet Change eseményt használva.
Az első esetben a makrónak meg kell találnia a főtábla megfelelő sorát és oda átmásolni a megjegyzést.
A második esetben a makrónak egy új táblához kell hozzáfűznie a megjegyzést egy azonosítóval és ezek után a Power Query-vel lehet hozzáadni a riporthoz a megjegyzést.üdv
-
TheSaint
aktív tag
Üdv!
Egy főtáblából szeretnék adott oszlopokat lekérdezni olyan módon hogy a sorok mellé szabadon lehessen megjegyzéseket irogatni és a főtábla változásakor a megjegyzés maradjon az adott sor mellett ahova eredetileg be lett írva.
Kimutatástáblával ez felejtős
Csatolt beillesztéssel előbb-utóbb elcsúsznak a sorok
Adatlekérdezéssel hiába szerkesztem meg PowerQuery-vel szépen, szúrok be üres oszlopot, frissítés után törli a beírt szövegeket...
Van erre megoldás?
Köszi! -
Mutt
senior tag
válasz
zoombiee #44797 üzenetére
Szia,
Látom Bobrooney már küldött jó megoldást.
Google Sheets App Script-et használ, a megadott VBA kódod ennek felel ott meg:
function CommandButton1_Click() {
var sheet = SpreadsheetApp;
var teszt1 = sheet.getActiveSpreadsheet().getSheetByName("Teszt1");
var teszt2 = sheet.getActiveSpreadsheet().getSheetByName("Teszt2");
var start_x = teszt1.getRange("C17").getValue();
var start_y = teszt1.getRange("D17").getValue();
teszt2.getRange(start_x, 3).setValue(start_y);
};Gombot pedig rajzolással tudsz létrehozni.
üdv
-
Mutt
senior tag
válasz
modflow #44792 üzenetére
Szia,
Excel 2010-től van Power Query, amivel ha azonos a lapokon a struktúra akkor lehet összesítést könnyedén létrehozni. Power Query-nek az előnye, hogy mint egy makró a rögzített lépések újra felhasználhatók, így ha változik a fájlodban az adat akkor egy frissítés után megkapod a legújabb eredményt.
A minta fájlomban van 3 munkalap, amelyek így néznek ki (a tartalom természetesen laponként más és más)-
Ezek után ezek a lépések (angol Excelben tudom most mutatni):
1. Fájlban hozz létre egy munkalapot ahova kerül majd az összesítés, én Összesít nevet adtam neki.
2. Data -> Get data from file opcióval nyisd meg az Excel fájlt.
3. A navigátor ablakban ne kattints a munkalapra, hanem válaszd a fájlt ki majd alul a második opció Transform data kell. Ezzel megnyílik a Power Query szerkesztő része.
4. Itt a munkalapok nevénél válasszuk ki azokat, amelyek nem kellenek (nálam az Összesít).
5. Jelöld ki a Data oszlopot és jobb klikk a többi oszlop eltávolítása, hogy csak a Data oszlop maradjon meg.
6. Data jobb felső sarkában kattints a kibontás ikonra és okézd le.
7. Innentől a fájlod tartalmától függenek a lépések. Nekem pár lépés volt, hogy ezt a formát
erre át tudjam alakítani.8. Ha készen vagyunk, akkor már csak Excel-be kell visszatölteni a Close & Load opcióval.
9. ha mentesz és utána frissíted a riportot akkor lesz egy mellékhatás (a fájlnak része lett az új report és azt is be fogja építeni a következő frissítéskor). Ezt úgy lehet kiküszöbölni, hogy megnyitod a lekérdezést Power Query-ben (Data -> Queries & Connections -> jobb klikk a lekérdezésen és Edit). Elmész a második lépéshez és ott KInd oszlopon szűrsz, hogy csak a munkafüzetekről dolgozzon.üdv
-
Bobrooney
senior tag
válasz
zoombiee #44797 üzenetére
function myFunction() {
var app = SpreadsheetApp;
var activeSheet = app.getActiveSpreadsheet().getSheetByName("Teszt1");
var Start_X = activeSheet.getRange("C17").getValue();
var Start_Y = activeSheet.getRange("D17").getValue();
var targetSheet = app.getActiveSpreadsheet().getSheetByName("Teszt2");
targetSheet.getRange(Start_X , 3).setValue(Start_Y);
}
-
zsolti_20
senior tag
Sziasztok! Írtam egy egyszerűbb kódot, excel VBA-ban amivel soros porton tudok fogadni adatok és küldeni. A problémám az, hogy minden alkalommal amikor adatot küldök, a kapcsolatot automatikus felépíti, így az utasítások késnek kb 1mp-et. Lehetséges ezt kicsit felgyorsítani? Arduinohoz szeretném használni a kódot. A fejlesztőkörnyezetében ha kiküldöm az adatot azonnal végre hajtja az utasítást, de VBA-ból 1mp késéssel.
Nem találtam az elmúlt napokban egyéb alternatívákat sajnos.
Itt elérhető a file:
[link] -
DeFranco
nagyúr
válasz
Fferi50 #44800 üzenetére
akkor már ránézhetek a sorfejlécre is, az is bekékül, akkor van gond, ha szűrök valamire, elvégzem rajta a műveletet, csak elfelejtem hogy másik két dologra is szűrtem már tehát eleve részhalmazon dolgozom.
nem életbevágó a kérdés, csak pont most húztam fel magam rajta újra
Új hozzászólás Aktív témák
Hirdetés
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Assassin's Creed Shadows Collector's Edition PC
- AKCIÓ! Apple MacBook Pro 13 2022 M2 8GB 256GB SSD garanciával hibátlan működéssel
- LG UltraGear Gaming Monitorok: FRISS SZÁLLÍTMÁNY -30%
- BESZÁMÍTÁS! Apple MacBook Air 15 M3 8GB 256GB SSD garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
- LG 32GQ850-B - 32" NANO IPS ATW / 2560x1440 / 260Hz 1ms / NVIDIA G-Sync / AMD FreeSync / HDR 600
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged