Det jeg gerne vil finde ud af er ud for hver linje med måling ENTEN at tælle hvor mange blanke der er mellem denne dato og sidste dato med måling ELLER bare at angive dato for sidste måling før denne. Jeg synes det lyder let men jeg kan i de formler jeg har afprøvet ikke finde ud af at håndtere et område der ikke er fast, altså det med at det er sidste celle med måling jeg skal finde og angive modsvarende dato.
Alternativt kan det laves med en makro. Nedenfor er der 2 makroer. Den første tæller antal tomme felter siden sidste måling og skriver det i kolonne C og den anden skriver dato for sidste måling i kolonne C.
Sub LatestMeasurement1() 'skriver antal tomme felter siden sidste måling i kolonne C LastRow = ActiveSheet.UsedRange.Rows.Count For x = 3 To LastRow If Cells(x, 2) <> "" Then For y = x - 1 To 2 Step -1 If Cells(y, 2) <> "" Then Cells(x, 3) = x - y - 1 GoTo A: End If Next End If A: Next End Sub
Sub LatestMeasurement2() 'skriver dato for sidste måling i kolonne C LastRow = ActiveSheet.UsedRange.Rows.Count For x = 3 To LastRow If Cells(x, 2) <> "" Then For y = x - 1 To 2 Step -1 If Cells(y, 2) <> "" Then Cells(x, 3) = Cells(x - y - 1, 1) GoTo A: End If Next End If A: Next End Sub
Jeg er ikke så heldig med at lave det rigtigt første gang i dag. Du får lige makro 2 igen.
Sub LatestMeasurement2() 'skriver dato for sidste måling i kolonne C LastRow = ActiveSheet.UsedRange.Rows.Count For x = 3 To LastRow If Cells(x, 2) <> "" Then For y = x - 1 To 2 Step -1 If Cells(y, 2) <> "" Then Cells(x, 3) = Cells(y, 1) GoTo A: End If Next End If A: Next End Sub
Hej... Tusind tak for hjælpen. Det virker næsten. Eneste problem er ved 2. måling som du kan se nedenfor. Der angiver den 2/1 i stedet for 1/1.Kan man løse det ?
Sub LatestMeasurement1() 'skriver antal tomme felter siden sidste måling i kolonne C LastRow = ActiveSheet.UsedRange.Rows.Count For x = 2 To LastRow If Cells(x, 2) <> "" Then For y = x - 1 To 2 Step -1 If Cells(y, 2) <> "" Then Cells(x, 4) = x - y - 1 GoTo A: End If Next Else Cells(x, 3) = "" End If A: Next End Sub
Sub LatestMeasurement2() 'skriver dato for sidste måling i kolonne C LastRow = ActiveSheet.UsedRange.Rows.Count For x = 2 To LastRow If Cells(x, 2) <> "" Then For y = x - 1 To 2 Step -1 If Cells(y, 2) <> "" Then Cells(x, 3) = Cells(y, 1) GoTo A: End If Next Else Cells(x, 3) = "" End If A: Next End Sub
Hej... Tusind tak for hjælpen. Det virker næsten. Eneste problem er ved 2. måling som du kan se nedenfor. Der angiver den 2/1 i stedet for 1/1.Kan man løse det ?
Mht. makroer, så skal du kopiere den, højreklikke på fanebladet, vælge Vis Koder og indsætte den der. Du kan så enten køre den fra Vis Makro og klikke på den der, eller indsætte en knap og linke den til makroen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.