-
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
- Formula-1
- PlayStation 5
- Borderlands 4
- Milyen USB töltőt vegyek?
- TCL LCD és LED TV-k
- Milyen egeret válasszak?
- One otthoni szolgáltatások (TV, internet, telefon)
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Milyen billentyűzetet vegyek?
- Bambu Lab 3D nyomtatók
- További aktív témák...
- BESZÁMÍTÁS! Asus B560M i5 10400F 16GB DDR4 512B SSD RX 6600XT 8GB AeroCool DS Cube ADATA 600W
- Apple iPhone 12 (kerett kopott) / 128GB / Kártyafüggetlen / 12Hó Garancia / 100% akku
- PS5 PlayStation 5 Slim (lemezes, 1TB) kiváló állapotban! 6 Hónap Jótállás
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- 14" Dell Latitude laptopok: 5400, 5480, 5490, 7480, E6410, E6440, E5450 / SZÁMLA + GARANCIA
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

Fferi50
