- iPhone topik
- MIUI / HyperOS topik
- One mobilszolgáltatások
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Elkészült és telepíthető az Android 16
- Google Pixel topik
- Samsung Galaxy S21 FE 5G - utóirat
- Apple iPhone 16 Pro - rutinvizsga
-
Mobilarena
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
-
-
Delila_1
veterán
válasz
Sprite75 #50291 üzenetére
Feltöltöttem egy tömörített fájlt.
Krizsák László írta a makrót. Nem kell hozzá a naptárvezérlő. -
Delila_1
veterán
válasz
Sprite75 #47320 üzenetére
Mivel feltételes formázással nem lehet átlós szegélyeket bevinni, szürke hátteret adtam a megfelelő cellákban.
M1-be beírod az évet, M2-ben kiválasztod a hónapot az érvényesítésből.
Meg lehet oldani, hogy az ünnepnapok háttere is eltérjen a munkanapokétól.
A C3 képlete:=M1&". "&M2&" hónap
"Szerk.: természetesen a Q oszlopban decemberig vidd a hónapokat, és az Fkeres-nél is javítanod kell a tartományt.
-
Fferi50
Topikgazda
válasz
Sprite75 #45344 üzenetére
Szia!
Azért nem működik az automatikus mentés, mert az sNev változó a régi munkafüzet nevét tartalmazza.
A Thisworkbook kódlapján az AfterSave eseménykezelőbe írd be, hogy változzon meg az sNev tartalma.Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Mentes.sNev = ThisWorkbook.Name
End Sub
Így a mentés után már az új név lesz érvényes.
Elképzelhető, hogy az időzítőket is újra kell indítani, de ezt egy próba után már látni fogod, akkor ugyanide kell beírni az elindításukat.
Üdv. -
Sprite75
tag
válasz
Sprite75 #44927 üzenetére
Sziasztok.
Van ez a [link] rendelős táblázatom amiben [link] ilyen auotomatikus mentős makrók is vannak.
Ezt úgy használják, hogy reggel megnyitják (a file neve az hogy reggeli nyitó) aztán mentés másként-al mentik ugyhogy a file neve pl ma 11-17 lesz.
Van egy olyan probléma vele, hogy ilyenkor ha nem zárják be a táblázatot és nem nyitják ujra már a 11-17 nevűt akkor nem műköödnek a fentebb linkelt automatikus mentés makrók.
Viszont egyéb makró működik a táblázatban.Ha bezárják és ujra nyitják (ahogy javasoltam a kollégának) akkorfeldogja az excel hogy a makrók le vannak tiltva akarod-e engedélyezni... Természetesen ha itt rá nyomnak hogy igen akkor minen ok. Működik az automatikus mentés is innentől kezdve.
Hogyan lehetne ezt kijátszani, hogy a mentés másként után ne kelljen bezárni a táblázatot,
(mert sajnos ezt sokszor elfelejtik reggelente)
hogy elinduljun az aut mentések időzítője így is amik a ThisWorkbook -on Private Sub Workbook_Open() alatt vannak .? -
jackal79
aktív tag
-
Fferi50
Topikgazda
válasz
Sprite75 #44917 üzenetére
Szia!
Bocs, azt hiszem én írtam el valamit...If kovido > Now Then Application.OnTime kovido, "idozit", , False ' ide a saját időzítő makród nevét írd
Nem az időzítő makró, hanem az időzített makró neve kell oda. A te esetedben az egyik
a PDFautoment, a másik pedig a Savethis makró.
Tehát ugyanazokkal a makrónevekkel kell meghívni, mint ami az időzítő makróban van, csak a vége True helyett False.
Sajnálom, hogy félrevezető voltam.
Üdv. -
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
-
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.
-
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. -
bela85
aktív tag
-
Fferi50
Topikgazda
válasz
Sprite75 #44354 üzenetére
Szia!
Az új munkalap D oszlopába átmásolod a sorszámot és megszünteted az ismétlődéseket. Az összesítő oszlopokba SZUMHA a sorszám szerint. A többi adat INDEX - HOL.VAN párossal, illetve FKERES-sel megtalálható.
Pl. Dátum:=INDEX(Adatok!A:A;HOL.VAN($D2;Adatok!$D:$D;0)
Ez húzható jobbra és lefelé is.
Üdv. -
válasz
Sprite75 #44354 üzenetére
Pedig kimutatással kivitelezhető...
Makróval is megoldható, de azt most másra bízom.
(Az alap táblán nem látszik egy oszlop, ami az összesítettben meg igen, nevezetesen a H-oszlop (Kód-szám fejléccel), ezt nem ártana "látszatni", mert úgy a makrós versenyzők is "sírni" fognak. -
Fferi50
Topikgazda
válasz
Sprite75 #44344 üzenetére
Szia!
Ha megmutatnád az új sor makrót, talán könnyebben rájönnénk.
Most az a gyanúm, hogy nincs az eseménykezelés letiltva benne, ezért a beszúrás után fut(na) az eseménykezelő makród, de itt ugye nem egy cella változik, hanem egy egész sor, ezért nem tudja értelmezni az utolsó feltételt.
Az új sor makróba az elején be kellene szúrniApplication.EnableEvents=False
majd a végén pedigApplication.EnableEvents=True
Ezáltal a nem kívánt események nem indítanák el az eseményvezérelt makrókat.
Üdv. -
Delila_1
veterán
válasz
Sprite75 #44323 üzenetére
"Az lenne az igazi, ha nem is kellen gombot beraknom ennek a makrónak, hanem amikor írják be az adatokat az új sor gomb megnyomása uttán, és elérnek az adott sor Q oszlopába, és oda bekerül egy szám, akkor iródjon be a következő sorszám az adott sor D oszlopába."
Ehhez írtam az eseményvezérelt makrót.
-
Delila_1
veterán
válasz
Sprite75 #44321 üzenetére
Rendeld a laphoz:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 17 And Target.Row > 1 And Target.Count = 1 And Target <> "" Then
Cells(Target.Row, 4) = Application.WorksheetFunction.Max(Range("D2:D" & Target.Row - 1)) + 1
End If
End SubA feltételnél azt vizsgáljuk, hogy
– a Q oszlopról van-e szó,
– hogy legalább a 2. sor legyen a bevitel helye,
– ne törlés legyen,
– és van-e bevitt adat. Ehelyett írhatsz szám ellenőrzést:IsNumeric(Target)
Nincs szükség az alsó sor helyére, mert a Q oszlop bevitelére reagál.
-
Pakliman
tag
válasz
Sprite75 #42240 üzenetére
Szia!
Akkor alakítsd át:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="\\KHAZASERV\Megosztott\Rendeles Bolt\" & worksheets("valami").cells(vmelyiksor,vmelyikoszlop) & " Rendeles." & Format(Now(), "yyyy.mm.dd. hh-mm") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=FalseValamiért már megint nem működnek nálam a BB kódok (félkövér, aláhúzott stb.)
-
Delila_1
veterán
válasz
Sprite75 #36008 üzenetére
Feltettem egy fájlt.
Az R1 cellában választhatod ki az üzletet, az S1-be írja ki a sofőr nevét.A minta szerint átalakíthatod az S1 képletét a saját igényed szerint.
Szerk.: a B1, E1 ... N1 cellákban a sofőr neve legyen, a többi szöveget szövegdobozba, vagy megjegyzésbe írd.
-
sztanozs
veterán
válasz
Sprite75 #34736 üzenetére
Sub PDFment()
'
' PDFment Makró
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="\\TICKETNYOMTATO\Megosztott\Rendelés\" & Format(Now(),"yyyy.mm.dd.hh.mm") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub -
Pakliman
tag
válasz
Sprite75 #32881 üzenetére
Szia(sztok)!
"Elegánsabb" megoldás, de kell a VBA:
Public Function MyÖsszefűz(terület As Range, Optional elválasztó As String = ";") As String
Dim cella As Range
Dim temp
For Each cella In terület
If cella <> "" Then temp = temp & IIf(temp <> "", elválasztó, "") & cella
Next cella
MyÖsszefűz = temp
End Function -
Fferi50
Topikgazda
válasz
Sprite75 #32868 üzenetére
Szia!
2013-as excelben már 255 paramétere lehet az összefűz függvénynek. Nézd meg lsz. a szerkesztősoron a függvényre kattintva, hogy hány paramétert enged meg. (Beírod az =Összefűz( szöveget, rákattintasz az Fx szimbolra, az előugró ablakban ott a szöveg.)
Másik lehetőség: Szürő az oszlopra, nem üresre állítva a szűrőt megkapod azokat a cellákat, amelyekben van érték. Ezeket egyben kijelölheted, átmásolhatod egy másik munkalap összefüggő tartományába. Máris csak pár cellát kell összefűzni, arra meg jó a & műveleti jel is.
Üdv.
-
Fferi50
Topikgazda
válasz
Sprite75 #32397 üzenetére
Szia!
Íme a makró:
Ellenőrzi, hogy ne szöveg legyen beírva, érvényes legyen a számérték amit beírtak, illetve rákérdez, hogy felülírható-e az egyszer már bevitt számérték. Beírja az utolsó módosítás időpontját az AZ oszlopba (tehát, ha sikeres az új érték beírása a cellába, akkor ír időpontot az AZ oszlopba, egyébként nem).Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range, ujertek As Integer
Set KeyCells = Range("C4:AY108") ' ez a vizsgálandó terület
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Application.EnableEvents = False
If Not IsNumeric(Target.Value) Then
MsgBox "Nem számot írtál be, kérlek javitsd ki!", vbCritical, "Ellenőrzés"
With Application
.Undo
.EnableEvents = True
End With
Exit Sub
End If
If Target.Value < 0 Or Target.Value > 300 Then
MsgBox "Ez az érték nem felel meg a követelményeknek: " & Target.Value, vbCritical, "Ellenőrzés"
With Application
.Undo
.EnableEvents = True
End With
Exit Sub
End If
ujertek = Target.Value
Application.Undo 'visszaállítjuk a változás előtti értéket
If Target.Value >= 1 And Target.Value <= 300 Then 'ha a régi érték jó
If MsgBox("A(z) " & Target.Address(rowabsolute:=False, columnabsolute:=False) & " cella már tartalmazott egy helyes értéket: " & Target.Value & vbLf & "Kicseréli erre: " & ujertek, vbYesNo, "Ellenőrzés") = vbYes Then
Target.Value = ujertek
End If
Else
Target.Value = ujertek
End If
Cells(Target.Row, 52).Value = Time
Application.EnableEvents = True
End If
End SubÜdv.
-
Fferi50
Topikgazda
válasz
Sprite75 #32384 üzenetére
Szia!
A Worsheet_SelectionChange eseménykezelőbe az End Sub előtti End With elé írd be
.Activate
Ezután használhatod ezt az eseménykezelést:Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range, ujertek As Integer
Set KeyCells = Range("C4:AY108") ' ez a vizsgálandó terület
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
ujertek = Target.Value
Application.EnableEvents = False
Application.Undo 'visszaállítjuk a változás előtti értéket
If Target.Value >= 1 And Target.Value <= 300 Then 'ha a régi érték jó
MsgBox "A(z) " & Target.Address(rowabsolute:=False, columnabsolute:=False) & " cella már tartalmazott egy helyes értéket: " & Target.Value, vbCritical, "Ellenőrzés"
Else
If ujertek < 1 Or ujertek > 300 Then 'ha a beírt új érték nem jó
MsgBox "Ez az érték nem felel meg a követelményeknek: " & ujertek, vbCritical, "Ellenőrzés"
Else
Target.Value = ujertek
End If
End If
Application.EnableEvents = True
End If
End Sub
Szépséghibája, hogy nem áll vissza arra a cellára, amelyikbe az értéket írták be, hanem mindig abba az irányba "ugrik", amerre a cellából kiléptek (hiszen többféle módon - pl. enter,tab, nyíl billentyűk - is el lehet hagyni a cellát).Üdv.
-
Sprite75
tag
válasz
Sprite75 #32383 üzenetére
Ilyet már találtam de ez ugye minden változáskor figyelmeztet jelenleg A1 és C10 között. Ez lehet úgy átírni hogy csak akkor figyelmeztessen ha az adott cellában már volt valami szám 1-300ig?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("A1:C10")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Display a message when one of the designated cells has been
' changed.
' Place your code here.
MsgBox "Cell " & Target.Address & " has changed."
End If
End SubEz a táblázat minden reggel egyébként üres lenne, úgy vennék fel az aznapi rendeléseket.
-
Sprite75
tag
válasz
Sprite75 #32380 üzenetére
Átgondoltam. Mégis lehet hogy jó lenne a visszavonás gomb, mert mi van akkor ha a kedves koléga tévedésből egy már előzőleg beirt rendelést módosít de nem tudja hogy mi volt abban a cellában, akkor jól jönne a visszavonás. Vagy esetleg olyat lehet már egy előzőleg beítr adatot csak egy figyelmeztető ablak megjelenése után lehessen átírni?
-
Fferi50
Topikgazda
válasz
Sprite75 #32380 üzenetére
Szia!
Sajnos, amint makró módosítja egy cella tartalmát, azonnal "elvész" a visszavonási automatizmus az Excelben... gondolom azért, mert 2 különböző módszerű eljárásról van szó.
Elvileg nem lehetetlen a változtatások nyomon követése makróban és ehhez kapcsolódóan saját makrót írni a visszavonásra - saját parancsgombbal ill. billentyű kombinációval - de most sajna nincs energiám hozzá, hogy belefogjak. Hátha valakinek van már ilyen megoldása korábbról vagy talonban.Üdv.
-
Sprite75
tag
válasz
Sprite75 #32376 üzenetére
Még egy apróság.
Azon a munkalapon amin fut ez a célkeresztes dolog nem működik a visszavonás gomb.
Fferi50 vagy Delila_1 szerintetek leht ezzel valamit kezdeni?
A gomb szürke lesz amit beírok valami adatot és ütök egy entert.
Az én esetemben azon a lapon ahol ezt szeretném használni a célkeresztes makrót a fejléc és az első két oszlop zárolva lenne arra a területre ahová pedig a rendeléseket írná a kolléga csak számokat írhat. Tulajdonképpen nem tud olyan cellát módosítani ami fontos lehet, (pl szumma a lap alján stb) így nem is biztos hogy valaha szükség lenne a visszavonás gombra, de ha mégis működne az is az lenne az igazi.
-
Delila_1
veterán
válasz
Sprite75 #32347 üzenetére
Fferi tovább fejlesztette, ami a 2010-es verziótól kezdve műxik.
-
Delila_1
veterán
válasz
Sprite75 #32337 üzenetére
Minek külön feltételes formázás? Ha már ír valamit a makró, egyúttal a színt is módosíthatja.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C4:AY108]) Is Nothing Then
Cells(Target.Row, 52).Value = Time
Cells(Target.Row, 52).Interior.Color = vbRed
End If
End Sub -
Sprite75
tag
válasz
Sprite75 #32336 üzenetére
Delila egy korábbi írását felhasználva használva
[link]csináltam egy olyan oszlopot ahová kiírja egy sorban történt utolsó módosítás idejét.
Így:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C4:AY108"), Target) Is Nothing Then
Cells(Target.Row, 52).Value = Time
End If
End SubAztán ezt továbbgondolva szerettem volna megoldani hogy az épp kijelölt cella más színű legyen (a cellába íratott 1-est felhasználva a feltételes formázással) de nem teljesen jó a dolog.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("C4:AY108"), Target) Is Nothing Then
Cells(Target.Row, 54).Value = "1"
End If
End SubVagy teljes nem jó az elképzelés?
-
lappy
őstag
válasz
Sprite75 #30046 üzenetére
Első körben a rendszámhoz vagy a típushoz rendelned kellene egy listát amiből kitűnik, hogy milyen típusú a jármű. Ha ez megvan akkor már egy egyszerű képlettel meghatározható és automatikusan kitölthető a táblázat.
Amíg nincs adatbázis addig marad a manuális megoldás.u.i:
eléggé vicces hogy egy ifa személyszállító egy busz meg hússzállító (bár az embereken is van hús csak nálunk nem fogyasztja senki)
-
Mutt
senior tag
válasz
Sprite75 #19074 üzenetére
Hello,
Nem egyszerű a képlet, így nem kell érteni azonnal, ezért próbáltam meg levezetni. A lényeg, hogy lásd máshogy is el lehet érni, és hogy lehessen ötletet meríteni belőle.
1 hiba van benne: fixen $G$2:$G$19-re hivatkozom, mert ennyi adat volt, helyette G:G hivatkozás kell, de mivel van már más megoldás nem kell ezzel foglalkoznod..
Márciusra azért nem ad értéket, mert február hónapban nem volt kilóméteróra-állás rögzítve.Így nem tudja mihez viszonyítson. Ezért van a levezetésemben a 7 és 8-as pont, ilyenkor 0-t ad vissza.
A lényeg, hogy neked működő képletet tudott a közösség adni.
üdv.
-
Mutt
senior tag
válasz
Sprite75 #19062 üzenetére
Hello,
...a hónapok száma alapján kellene az adott hónap utolsó tankolási Km-ét kivonni az előző hónap utolsó tankolási Km-éből....
Ez az én képletem az M8-as cellába:
=(HAHIBA(INDEX(D:D;ÖSSZESÍT(14;6;SOR($G$2:$G$19)/($G$2:$G$19=J8);1));0)-HA(J8=1;$K$2;HAHIBA(INDEX(D:D;ÖSSZESÍT(14;6;SOR($G$2:$G$19)/($G$2:$G$19=J8-1);1));0)))*SZÁM(HOL.VAN(J8;G:G;0))*SZÁM(HA(J8=1;1;HOL.VAN(J8-1;G:G;0)))A működése:
1. ÖSSZESÍT(14;6;SOR($G$2:$G$19)/($G$2:$G$19=J8);1)) kikeresi a hónap utolsó km sorának számát. pl. Április hónapnál 9-es sor.
Az ÖSSZESÍT ezen felhasználását itt mutattam be, de ugyanerre juthatunk ezen képletekkel is,:
=SZORZATÖSSZEG(MAX(($G:$G=J8)*SOR($G:$G)))
{=MAX(HA((G:G=J8);SOR(G:G);0))}2. Ezt a sorszámot felhasználva INDEX függvénnyel kiolvassuk a D-oszlopból az értéket. Áprilisban ez 45205 lesz.
3. Az egészet becsomagoljuk egy HAHIBA-ba, ahol hiba esetén 0-t kérünk vissza.
4. Az első három lépést ugyanúgy lejátszuk, de eggyel korábbi hónappal (ugyanaz a képlet csak J8 helyett J8-1 -et használunk). pl. Március esetén az érték 43444 lesz.
5. Itt még figyelembevesszük, hogy január esetén az előző évi óraállás kell K2-ből; ezt a HA(J8=1;K2;....) rész csinálja.
6. A két számot kivonjuk egymásból. pl. 45205-43444=1761Kész is lennénk, ha minden hónapban és megelőző hónapban lenne érték, de ez nem garantált.
7. Megnézzük, hogy a vizsgált hónap száma G oszlopban megtalálható-e a HOL.VAN függvénnyel. Ez egy számot add vissza ha ott van a keresett hónap. A SZÁM függvény tehát vagy IGAZ vagy HAMIS-ra fordítja le az eredményt.
8. Ugyanezt megcsináljuk a megelőző hónapra, de itt még figyelünk arra hogy január előtti hónap is kezelve legyen.
9. A 6-os lépésben kapott számot megszorozzuk a 7 és 8-as eredménnyel. pl. 1761*1*1=1761Március esetén a számok így jönnek ki:
Március végi eredmény: 43444
Február végi eredmény: 0 (mivel hibára fut a függvény és ekkor 0-t kapunk vissza).
Március bent van a G oszlopban: IGAZ (1)
Február bent van a G oszlopban: HAMIS (0)
Az eredmény: (43444-0)*1*0 = 0üdv.
-
Sprite75
tag
válasz
Sprite75 #19063 üzenetére
Bonyolítás
{=HA(MAX(HA($G:$G=J14;$D:$D))=0;0;MAX(HA($G:$G=J14;$D:$D))-(M8+M9+M10+M11+M13+M12+$K$2))}
Ha a D oszlop vizsgálatának eredménye 0 mert nincs abban a hónapban tankolás akkor az adott hónap cellaértéke 0 egyébként pedig elvégzi az előbbiekben leírtakat.
Kicsit hosszú a képlet de működik -
Sprite75
tag
válasz
Sprite75 #19062 üzenetére
Valami megoldásfélét találtam, bár nem teljesen jó:
{=MAX(HA($G:$G=J14;$D:$D))-(M8+M9+M10+M11+M13+M12+$K$2)}A havi legnagyobb km-ra állásból kivonja ez előző havi értékeket minusz az előző évi záró km-óra állást.
Ez majdnem jó megoldás akkor ha van minden hónapban tankolás, de pl ennél az autónál is a februárnál minusz érték jönne ki ha a semmiből kivonja a januári futott km-ert. Ja és még azoknál a hónapoknál is hülyeséget számol ami még hátra van az évből. (8,9,10,11,12 hó)Szóval finomítani kellene a dolgon, vagy ha valakinek teljesen más ötlete van azt is szívesen fogadom
-
Delila_1
veterán
válasz
Sprite75 #17953 üzenetére
Feltételezve, hogy minden lapon az első címsor, a lenti makró elvégzi a szortírozást.
Sub Szortiroz()
Dim lapnev$, sor As Long, usor As Long, usorLap As Long
Application.ScreenUpdating = False
Sheets("szerkeszt").Select
usor = Range("A" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
lapnev$ = Cells(sor, "A")
usorLap = Sheets(lapnev$).Range("A" & Rows.Count).End(xlUp).Row + 1
Range(Cells(sor, "A"), Cells(sor, "E")).Copy Sheets(lapnev$).Range("A" & usorLap)
Next
Application.ScreenUpdating = True
End Sub -
mr.nagy
tag
válasz
Sprite75 #17939 üzenetére
Sziasztok!
Egy olyan makróra lenne szükségem ami a következő műveletet végzi:
A munkafüzet "Munka2" fülén változó sor hosszúságú adatok vannak ebből az A oszlopban cikkszámok, a B oszlopban darabszámok. Ebből makrónak az első cikkszámot annyiszor kellene átmásolni a "Munka1" fül megadott celláiba, amennyi a darabszám a B oszlopbanm. Majd így tovább amíg van adat az alábbiak szerint.
A "Munka1" fülön 12 cellába írhatja a cikkszámokat: C3; C13; C23; C33; C43; C53; L3; L13; L23; L33; L43; L53. Miután a cikkszámok a helyükre kerültek jön egy nyomtatás, majd jöhet a következő 12 cikkszám a fentiek szerint.
Megoldható ez?
Új hozzászólás Aktív témák
Hirdetés
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- BESZÁMÍTÁS! Nintendo Switch 32GB V2 játékkonzol garanciával hibátlan működéssel
- LG 42C3 - 42" OLED EVO - 4K 120Hz 0.1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen6 CPU
- ÁRGARANCIA! Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Honor 200 Lite, Honor 200, Honor 200 Pro, Honor 200 Smart
- Hibás! Dísznek, Porfogónak, tesztkártyának vagy böngészni! Asus Rog Strix RX 470 4GB Videokártya.
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest