-
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
-
Mutt
aktív tag
válasz marcyman #19479 üzenetére
Hello,
...hogyan tudnék kerekíteni bármilyen számot 8-as végződésre?
=KEREKÍTÉS(A1;-1)-2Kerekítés függvénnyel nem csak egészszámra, de helyiértékre is lehet kerekíteni. -1-et megadva tízes helyiértékre kerekít, innen már csak ki kell vonni 2-t.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív 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
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
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.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
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
Topikgazda
válasz marcyman #25222 üzenetére
A táblázattá alakítást, és a kimutatást 1× kell létrehoznod pár kattintással, és akkor egész életedben csak ki kell választanod a napot és a céget a kimutatás legördülőjéből.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
Delila_1
Topikgazda
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[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Új hozzászólás Aktív témák
- Rövid előzetesen a S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Milyen NAS-t vegyek?
- Milyen monitort vegyek?
- HP ProLiant MicroServer Gen8
- Helldivers 2 (PC, PS5)
- Milyen TV-t vegyek?
- Gördeszka topic
- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Xbox Series X|S
- További aktív témák...