11. maj 2009 - 13:11Der er
11 kommentarer og 1 løsning
Hvis sætning
Hej eksperter Skal bruge en hvis-sætning der selv kan finde det sidste tal i en kolonnne jeg har en række tal der komme ind i excel men det er ikke samme antal der komme hver gang det jeg så have excel til er at selv finde det sidste tal og trække det fra det første tal, hvis det kan lade sig gøre. F.eks der kommer 10 tal ind i en kolonne nummer 10 minnus nummer 1, men hvis der kommer 15 tal ind så er det nummer 15 - nummer 1. Håber det kan lade sif gøre
Hej, Jeg vil bruge en makro, VBA, til løsningen af dette. Du skriver ikke noget om hvilke celler data kommer ind i og om det er det samme sted hvergang.
Denne makro skriver resultatet i den celle hvor du står når makrone startes. Som den er nu forudsætter den at data row starter i cellen A2 dette kan bare ændres
Sub mcrForsteSidste() 'Variable Dim n As Long Dim varStartCelle As String
'Data Start celle - Der hvor resultatet skal skrives varStartCelle = ActiveCell.Address
'Denne celle er den første i datarækken 'Skal evt. ændres Range("A2").Select
With Range("A1").CurrentRegion n = .Rows(.Rows.Count).Row End With
'Indsæt værdi i den aktive celle Range(varStartCelle).Value = Range("A" & n).Value - Range("A2").Value
End Sub
For at bruge denne makro gør går du over i VBA gøres nemmest med ALT + F11
Indsæt et nyt modul og kopier ovenstående kode ind i dette modul. Makroen hedder; mcrForsteSidste Når den skal afvikles
Hej, Jeg vil bruge en makro, VBA, til løsningen af dette. Du skriver ikke noget om hvilke celler data kommer ind i og om det er det samme sted hvergang.
Denne makro skriver resultatet i den celle hvor du står når makrone startes. Som den er nu forudsætter den at data row starter i cellen A2 dette kan bare ændres
Sub mcrForsteSidste() 'Variable Dim n As Long Dim varStartCelle As String
'Data Start celle - Der hvor resultatet skal skrives varStartCelle = ActiveCell.Address
'Denne celle er den første i datarækken 'Skal evt. ændres Range("A2").Select
With Range("A1").CurrentRegion n = .Rows(.Rows.Count).Row End With
'Indsæt værdi i den aktive celle Range(varStartCelle).Value = Range("A" & n).Value - Range("A2").Value
End Sub
For at bruge denne makro gør går du over i VBA gøres nemmest med ALT + F11
Indsæt et nyt modul og kopier ovenstående kode ind i dette modul. Makroen hedder; mcrForsteSidste Når den skal afvikles
Formlen skal indtastes som en matrix-formel. Det vil sige afslut med Ctrl+Skift+Enter. Ret selv dit område til det rigtige. Hvis du ikke starter i øverste række skal du fratrække første rækkenummer - 1. Starter du fx i C4 skal din formel så sådan ud:
til jkrons Skrevet man. d. 11. maj 2009 kl. 17:05:55| #4 det virker helt perfekt når jeg bruger tal men i mit tilfælde skal jeg beregne på tider altså i format klokkeslæt hvis du ved hvad jeg mener, hvordan skal den så se ud
undskyld det er fordi det er et nigativ dato/klokkeslæt så viser den det som ##################, men hvodan vender jeg det til en positiv tid C2 vil jo altid være en tid der er mindre ind den sidste tid i rækken f.eks 14:01 - 15:31 = ################## men 15:31 - 14:01 = 01:30 , håber du forstår
det gør ikke noget for det er altid den første værdi der er den mindste da det er en start tid og den sidste værdi er en slut tid og regner ikke med at det gør noget hvis slut tiden er efter kl 00:00 da der jo er en dato på også, men jeg tester lige imorgen men du kan rolig sende svar og 1000 tak for hjælpen
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.