Hirdetés
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- GoodSpeed: Márkaváltás sok-sok év után
- potyautas: A Magyar Néphadsereg emlékére
- sziku69: Szólánc.
- bb0t: Ikea PAX gardrób és a pokol logisztikája
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
-
LOGOUT
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
marcyman
#28121
üzenetére
Másold a lenti makrót a lapod kódlapjára (lapfülön jobb klikk, Kód megjelenítése, a jobb oldalon kapott üres részbe másold). Lépj vissza a füzetbe, és a G1 cellába írd be az utolsó sor számát, ahol a D oszlopban szám szerepel. A példád szerint ez 23.
Innen kezdve mikor a B oszlopba új adatot viszel be, a makró kiszámolja, hogy a jelzett cellák összege meghaladja-e a félmilliót. Ha nem, akkor a D oszlopba beírja az NT szöveget. Ellenkező esetben a maradékot, ahogy írtad, a G1-be beviszi az új sorszámot, az E oszlopban elvégzi a cellák összevonását, és beírja oda a következő sorszámot, a példa szerinti 209-et. beírja a C-be a B-D értéket.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim osszeg, sor As Long, tartomany As Range
If Target.Column = 2 And Target.Row > 2 And Target.Count = 1 And Target > "" Then
Application.EnableEvents = False
sor = Range("G1")
Set tartomany = Range("B" & sor + 1 & ":B" & Target.Row)
osszeg = Cells(sor, "D") + Application.WorksheetFunction.Sum(tartomany)
If osszeg >= 500000 Then
Range("D" & Target.Row) = osszeg - 500000
Range("G1") = Target.Row
Range("E" & sor + 1) = Application.WorksheetFunction.Max(Columns(5)) + 1
Range("E" & sor + 1 & ":E" & Target.Row).MergeCells = True
Range("E" & sor + 1 & ":E" & Target.Row).VerticalAlignment = xlCenter
Cells(Target.Row, "C") = Cells(Target.Row, "B") - Cells(Target.Row, "D")
Range("G1") = Target.Row
Else
Cells(Target.Row, "D") = "NT"
End If
Application.EnableEvents = True
End If
End Sub -
Fferi50
Topikgazda
válasz
marcyman
#25222
üzenetére
Szia!
Most komolyan, kipróbáltad már az átlaghatöbb függvényt:
D2 képlete: =átlaghatöbb(C:C;B:B;B2;A:A;A2)Ezt pedig végighúzod a D oszlopon. Már csak az a fontos, hogy az A oszlopban a dátumok egyforma módon legyenek beírva (nem a cellaformázásra gondoltam, hanem dátumként, illetve esetleg végig szövegként).
Üdv.
-
Delila_1
veterán
válasz
marcyman
#25187
üzenetére
Készíts kimutatást a kép szerint. Az összegző mezőkben látszólag napi összeget ír, de az valójában napi átlag, mint a jobb oldali mezőlista tábla jobb alsó sorában látszik.
Érdemes előtte táblázattá alakítani az adataidat, akkor a kimutatás mindig a friss adatokkal számol.
A dátum legördülőben kiválaszthatod az aktuális dátumot. -
Mutt
senior tag
válasz
marcyman
#24909
üzenetére
Szia!
Adott egy táblázat ahova az ADOTT napi adatoknak át kellene frissülniük egy másik táblázatból, ahol minden nap új sorba írom az adatokat.
Makróval támogatva megy.
Lépések:
1. A minden nap bővülő táblázatba kell egy függvény egy fix helyen amely megadja az utolsó sort.
pl. legyen a B1 cella
2. Az utolsó sor számát meg lehet tudni DARAB vagy DARAB2, esetleg a HOL.VAN függvénnyel.
pl. legyen a B1 képlete =DARAB2(A:A)
3. Ezt a cellát linkeldbe a másik fájlba.
4. A másik fájl egyik eseményére (ez lehet a fájl megnyitása, vagy az egyik lap módosítása) be lehet tenni az alábbi egy sort (a példában A1-ben van a linkelt mező és alá A2-be írjuk az utolsó sor hivatkozását):
Range("A2").Formula = "=[másik fájl neve,xlsx]Munka1!$A" & Range("A1")
5. Csak ezt a fájl kell makróbarát füzetként menteni, a másikat nem kell.A 4-es lépésben említett sor helyett, itt egy kicsituniverzálisabb megoldás. Ez 3-as lépésben linkelt mezőből kiveszi a másik fájl elérését, így azzal már nem kell foglalkoznod,
Private Sub Worksheet_Activate()
Dim link As Variant
Const oszlop As String = "A" 'A-oszlopban vannak a napi adatok a másikban
link = Split(Range("A1").Formula, "!")
Range("A2").Formula = link(0) & "!" & oszlop & Range("A1").Value
End Subüdv
-
Új hozzászólás Aktív témák
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Android alkalmazások - szoftver kibeszélő topik
- Hardcore café
- Nothing Phone 2a - semmi nem drága
- Milyen TV-t vegyek?
- Formula-1
- BestBuy ruhás topik
- Xbox Series X|S
- Gyúrósok ide!
- Feltörték a regisztrációmat vagy elvesztettem a belépési emailcímet, 2FA-t
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- ÁRGARANCIA!Épített KomPhone i5 12400F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Microsoft Surface Pro 7+ - Újszerű, billentyűzettel és ceruzával
- CORSAIR K100 AIR
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50
