Avatar billede larsgrau Forsker
16. december 2013 - 17:02 Der er 4 kommentarer og
1 løsning

Mellem flere tal

Hej

Jeg kunne godt tænke mig lidt hjælp til en vba kode til følgende

Value mellem 0-500 skal den ligge 0,5 til valuen
Value mellem 500,01-1000 skal den ligge 1 til valuen
Value mellem 1000,01-2000 skal den ligge 2 til valuen
Value mellem 2000,01-? skal den ligge 3 til valuen

Nogen som kan hjælpe?

Venlig Hilsen
Lars
Avatar billede jens48 Ekspert
16. december 2013 - 19:17 #1
Hvis du har tallene stående i kolonne A begyndende i A2 kan du bruge nedenstående makro.

Sub AddNumber()
LastRow = Range("A65536").End(xlUp).Row
For x = 2 To LastRow
If Cells(x, 1) <= 500 Then
Cells(x, 1) = Cells(x, 1) + 0.5
Else
If Cells(x, 1) > 500 And Cells(x, 1) <= 1000 Then
Cells(x, 1) = Cells(x, 1) + 1
Else
If Cells(x, 1) > 1000 And Cells(x, 1) <= 2000 Then
Cells(x, 1) = Cells(x, 1) + 2
Else
If Cells(x, 1) > 2000 Then
Cells(x, 1) = Cells(x, 1) + 3
End If
End If
End If
End If
Next
End Sub

Alternative kan det også laves uden makro med

=A2+0,5*(A2<=500)+1*(AND(A2>500;A2<=1000))+2*(AND(A2>1000;A2<=2000))+3*(A2>2000)
Avatar billede larsgrau Forsker
16. december 2013 - 19:30 #2
kan man få den til returner værdien i et andet felt ?


Denne =A2+0,5*(A2<=500)+1*(AND(A2>500;A2<=1000))+2*(AND(A2>1000;A2<=2000))+3*(A2>2000) kan jeg ikke få til at virke, den returner dette i min cell "#NAVN?"
Avatar billede jens48 Ekspert
16. december 2013 - 19:33 #3
Ja, det er der ikke noget i vejen for. I hvilken kolonne skal tallet returneres?
Jeg kan se du har en dansk version. Prøv at udskifte "AND" med OG"
Avatar billede larsgrau Forsker
16. december 2013 - 19:59 #4
I Kolonne E

Og hvis jeg skifter AND ud med OG så virker den også
Avatar billede jens48 Ekspert
16. december 2013 - 21:09 #5
Du får lige den rettede makro:

Sub AddNumber()
Dim LastRow As Long
Dim x As Long
LastRow = Range("A65536").End(xlUp).Row
For x = 2 To LastRow
If Cells(x, 1) <= 500 Then
Cells(x, 5) = Cells(x, 1) + 0.5
Else
If Cells(x, 1) > 500 And Cells(x, 1) <= 1000 Then
Cells(x, 5) = Cells(x, 1) + 1
Else
If Cells(x, 1) > 1000 And Cells(x, 1) <= 2000 Then
Cells(x, 5) = Cells(x, 1) + 2
Else
If Cells(x, 1) > 2000 Then
Cells(x, 5) = Cells(x, 1) + 3
End If
End If
End If
End If
Next
End Sub
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester