- sziku69: Szólánc.
- MasterDeeJay: Asus Q170M-C coffeetime mod!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Pajac: Nincs rá kapacitásom
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- Depression: Hardver rúzs effektus?
- sziku69: Fűzzük össze a szavakat :)
- gerner1
-
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
-
Mutt
senior tag
válasz
bitpork
#44208
üzenetére
Szia,
Próbáld ki ezt az UDF-et:
Function RemainingDays(keydate As Date, Optional period As Long = 180, Optional maxdays As Long = 42) As Long
Dim wsRoutes As Worksheet
Dim c As Long
Dim ElapsedDays As Long
Dim LastRow As Long
Dim travelDays As Long
Set wsRoutes = ThisWorkbook.Sheets("Ark1")
With wsRoutes
LastRow = .Range("C" & Rows.Count).End(xlUp).Row
Dim splitDate
Dim travelStart As Date
Dim travelEnd As Date
'loop thorugh travel dates to find matching records
For c = LastRow To 2 Step -2
'separate merged travel start & end dates
splitDate = Split(.Cells(c, "C"), "-")
'check only arrays with 2 elements
'split generates 0-based arrays
If UBound(splitDate) = 1 Then
'try to convert strings to date
travelStart = DateSerial(Right(Trim(splitDate(0)), 4), Mid(Trim(splitDate(0)), 4, 2), Left(Trim(splitDate(0)), 2))
travelEnd = DateSerial(Right(Trim(splitDate(1)), 4), Mid(Trim(splitDate(1)), 4, 2), Left(Trim(splitDate(1)), 2))
'find the row which has travel start earlier then given keydate
If travelStart <= keydate Then
'Debug.Print "KeyStart: " & keydate - period & " KeyEnd: " & keydate
If travelEnd >= keydate - period Then
travelDays = travelDays + .Cells(c, "L")
'Debug.Print vbTab & "Row: " & c & " TravelStart: " & travelStart & " TravelEnd: " & travelEnd & " Days: " & .Cells(c, "L")
End If
End If
End If
Next c
RemainingDays = maxdays - travelDays
End With
End FunctionHasználata pedig annyi, hogy megadsz neki egy dátumot és ő az Ark1 füzeten alulról felfelé haladva megkeresi, hogy az utazások alapján melyik sorok L-oszlopbában lévő számokat kell összegezni.
Ha nem egy mezőben lennének szövegként az utazási dátumok felsorolva, hanem különálló rekordonként akkor egy SZUMHATÖBB is elég lehet. Feltételezve, hogy a problémát jól értettem.
üdv
Új hozzászólás Aktív témák
- Hobby elektronika
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Építő/felújító topik
- Kínai és egyéb olcsó órák topikja
- Kormányok / autós szimulátorok topikja
- OLED TV topic
- Minden, ami hőszivattyú
- Kingdom Come: Deliverance I-II.
- Samsung Galaxy Felhasználók OFF topicja
- Nyíregyháza és környéke adok-veszek-beszélgetek
- További aktív témák...
- Telefon felvásárlás!! Honor 90 Lite/Honor 90/Honor Magic5 Lite/Honor Magic6 Lite/Honor Magic5 Pro
- HIBÁTLAN iPhone 11 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS4258
- AKCIÓ! Microsoft XBOX Series X 1TB SSD fekete játékkonzol garanciával hibátlan működéssel
- MacBook Pro 16" M1 Max 64GB / 2TB / 27%-os ÁFÁS
- ÚJ Lenovo ThinkPad X13 Gen 5 - 13.3" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50