-
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
-
Fferi50
Topikgazda
Szia!
" ha valahol azt látod, hogy 17-31-ig zárva van valami, akkor nem hagyod ki a 17-et, hanem azt is beleszámolod a zárva tartott napok közé."
Ebben teljesen igazad van, csakhogy a függvény súgója szerint
"az Excel a vég_dátum – kezdő_dátum művelettel számítja ki a két dátum közötti napok számát."
Ez van bele "égetve", ezt kell figyelembe venni a képlettel való számolásainknál. Tehát, ahogy az előttem szóló is írta, ha a kezdő napot is bele szeretnéd számolni, hozzá kell adni az eredményhez 1-et.
Üdv. -
Fferi50
Topikgazda
Szia!
"ő azt mondja, hogy pl 08.17 és 08.31 között 14 nap van, ami a valóságban 15."
Szerinted hogyan lehetne a 31-17 kivonás értéke 15?
Az Excel pont ugyanúgy számol a dátumokkal, mint a számokkal - mivel a dátumokat egyébként számokként ábrázolja.
Amúgy hány nap is van hátra 17 -től 31-ig?
Üdv. -
Mutt
senior tag
Hello,
Megkésve, de vmi ilyen kóddal lehet automatizálni a feladatot.
Sub Masol()
Dim rngForras As Range
Dim wsTarget As Worksheet
'kijelöljük a forrás lapot
Set rngForras = ActiveSheet.Cells
'ha csak az aktuális tartomány kell akkor
'Set rngForras = ActiveSheet.Cells.CurrentRegion
'új lapot hozunk létre
Set wsTarget = ThisWorkbook.Worksheets.Add(after:=Worksheets(Worksheets.Count))
'másoljuk a forrást az új helyre
rngForras.Copy
With wsTarget
Application.ScreenUpdating = False
Dim vLastRow
Dim i As Long
Const DataCol As String = "C"
Const StartRow = 2
'beíllesztjük a forrást
.Paste
'kikeressük az utolsó sort
vLastRow = .Cells(.Rows.Count, DataCol).End(xlUp).Row
'beszúrás előtt számoljuk az F és G oszlop különbségét és M oszlopba tesszük, hasonló módon N-be is tudod tenni
.Range("M" & StartRow).Resize(vLastRow - StartRow + 1).FormulaR1C1 = "=RC[-7]-RC[-8]"
'a képleteket számmá alakítjuk
.Range("M" & StartRow).Resize(vLastRow - StartRow + 1) = .Range("M" & StartRow).Resize(vLastRow - StartRow).Value
'elindutjuk a keresést alulról felfelé menve
For i = vLastRow To 2 Step -1
'ha nem egyezik, akkor beszúrunk egy sort
If .Cells(i, DataCol).Value <> .Cells(i - 1, DataCol).Value Then
.Rows(i).Insert
'a számlálót is frissítenünk kell mert eggyel több sorunk lett
i = i - 1
End If
Next i
Application.ScreenUpdating = True
End With
End Subüdv.
-
_NCT
addikt
Nos netről kikukáztam a megoldást, szerintem egész jó így:
Sub InsertRowsAtValueChangeColumnC()
Dim X As Long, LastRow As Long
Const DataCol As String = "C"
Const StartRow = 2
LastRow = Cells(Rows.Count, DataCol).End(xlUp).Row
Application.ScreenUpdating = False
For X = LastRow To StartRow + 3 Step -1
If Cells(X, DataCol).Value <> Cells(X - 1, DataCol) Then Rows(X).Insert
Next
Application.ScreenUpdating = True
End SubMár csak azt kellene megoldani a makróban, hogy hasonlóképp pl az F és G oszlop értékeit vonja ki egymásból és írja az M és N oszlopba az eredményeket.
Új hozzászólás Aktív témák
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Fallout 4 Pip-Boy Edition eladó
- Creative Sound BlasterX G6 7.1 USB külső hangkártya
- Apple iPhone 16 Plus 128GB Ultramarine használt, karcmentes 96% akku (266 ciklus) 6 hónap gar
- LENOVO ThinkCentre M93p (SFF)i5-4570,4GB DDR3,500GB SATA3 HDD,DVD,WIN10
- HIBÁTLAN iPhone 12 Pro Max 256GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS4306, 100 AKKSI
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50