-
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
senior tag
válasz
PerezT
#39811
üzenetére
Szia,
Nézd meg ezt a változatot.
Arra kell odafigyelned, hogy bérleti díjakat tartalmazó táblázatban az időszakok mindig lefedjék azt az időszakot amire számolni akarsz. A példádban ha Nagyfalu Bt-re számolnád a költségeket 2019. június 30-ig, akkor mivel most csak május végéig van bérleti díj az utolsó 1 hónapod ingyen lesz.
Tömb-képletet (CSE) használtam. Ha sok adatod van, akkor lelassíthatja az Exceled.
A képlet jelenleg a mai nappal számol (pontosabban a tegnap estig felhalmozott díjakkal), ha akarod a MA() függvényt cseréld le egy cella hivatkozásra ami tartalmazza a lejárati dátumot.
üdv
-
Delila_1
veterán
válasz
PerezT
#39811
üzenetére
Lehet, hogy nem értjük egymást.
A most feltöltött fájlban egy kimutatásban hoztam össze az egyes bérlők termékeire kifizetett összegeket. Ha csak egy bizonyos dátum tartomány értékeit szeretnéd látni, a Dátum mezőben (B17) jelöld be a kívánt időpontokat.
-
Delila_1
veterán
válasz
PerezT
#35996
üzenetére
3 helyen, a csillagozott sorokban kell módosítanod a makrót.
Nálam Munka1 a kiinduló lap neve, és Munka2, ahova átrendezve bemásolja az értékeket.A sorIde = 1: oszlopIde = 1 változók értékei adják meg, hogy a 2. lapon hol kezdődjön a tábla, ami itt az A1-es cella sora, és oszlopa.
Sub transz()
Dim sor As Long, usor As Long, sorIde As Long
Dim oszlop As Integer, uoszlop As Integer, oszlopIde As Integer
Sheets("Munka1").Select '***
uoszlop = Cells(1, Columns.Count).End(xlToLeft).Column
usor = Range("A" & Rows.Count).End(xlUp).Row
sorIde = 1: oszlopIde = 1 '***
With Sheets("Munka2") '***
For oszlop = 2 To uoszlop
For sor = 2 To usor
.Cells(sorIde, oszlopIde) = Cells(1, oszlop)
If Cells(sor, oszlop) > "" Then
.Cells(sorIde, oszlopIde + 1) = Cells(sor, 1)
.Cells(sorIde, oszlopIde + 2) = Cells(sor, oszlop)
sorIde = sorIde + 1
End If
Next
Next
End With
End Sub -
Delila_1
veterán
válasz
PerezT
#35994
üzenetére
Arra az esetre, ha az első táblázatod az A1 cellában kezdődik, egy makró gyorsan átmásolja a kívánt formába az adataidat. A makrót modulba kell tenned (lásd a Téma összefoglalóban).
Sub transz()
Dim sor As Long, usor As Long, sorIde As Long
Dim oszlop As Integer, uoszlop As Integer, oszlopIde As Integer
uoszlop = Cells(1, Columns.Count).End(xlToLeft).Column
usor = Range("A" & Rows.Count).End(xlUp).Row
sorIde = 1: oszlopIde = 15
For oszlop = 2 To uoszlop
For sor = 2 To usor
Cells(sorIde, oszlopIde) = Cells(1, oszlop)
If Cells(sor, oszlop) > "" Then
Cells(sorIde, oszlopIde + 1) = Cells(sor, 1)
Cells(sorIde, oszlopIde + 2) = Cells(sor, oszlop)
sorIde = sorIde + 1
End If
Next
Next
End Sub
Új hozzászólás Aktív témák
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Lenovo ThinkPad T14s Gen 6 Ryzen AI 7 PRO 350W Radeon 860M 32 GB RAM 7500 MT/s 512 GB 3év gar
- BESZÁMÍTÁS! Asus Rog Maximus IX Hero Z270 chipset alaplap garanciával hibátlan működéssel
- Gamer PC-Számítógép! Csere-Beszámítás! Intel Ultra 7 265KF / RTX 5070 / 32GB DDR5 / 1TB Nvme SSD
- Samsung Galaxy A04s / 3/32GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Fferi50