Hvis jeg i en liste har stående flere datoer, f.eks. 1/4-2004 1/8-2004 1/10-2004 1/4-2005
Hvis jeg så i b2 skriver en dato, så vil jeg gerne have det sådan at der bliver nedrundet til den nærmeste dato. Så hvis jeg skrev 2/5-04, så skal det være 1/4-04. Hvis jeg skrev 31/7-04, så skal det også være 1/4-04
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B2")) Is Nothing Then Dim I As Long, Dato As Variant Dato = [DATOLISTE] For I = UBound(Dato) To 1 Step -1 If Target > Dato(I, 1) Then Application.EnableEvents = False Target = Dato(I, 1) Application.EnableEvents = True Exit Sub End If Next End If End Sub
Navngiv din liste med datoer som DATOLISTE
sæt koden ind i arkmodulet på det ark som den skal virke på.
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("B2:B100")) Is Nothing Then Exit Sub Dim r For r = 2 To Range("A65536").End(xlUp).Row If Target < Cells(r, 1) Then Target = Cells(r - 1, 1): Exit Sub Next Target = Range("A65536").End(xlUp).Value End Sub
Jeg har prøvet den første og den virker. Men hvad nu hvis jeg ikke vil have den skal afrunde datoen i b2, men skrive den afrundede dato i en anden celle ?
ret B2:B100 i linie 2 til det område du vil indtaster datoer i
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("B2:B100")) Is Nothing Then Exit Sub Dim r If Target < Range("A2") Then Target = Range("A2"): Exit Sub For r = 2 To Range("A65536").End(xlUp).Row If Target < Cells(r, 1) Then Target = Cells(r - 1, 1): Exit Sub Next If Target > Range("A65536").End(xlUp).Value Then Target = Range("A65536").End(xlUp).Value End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B2:B100")) Is Nothing Then Dim I As Long, Dato As Variant Dato = [DATOLISTE] For I = UBound(Dato) To 1 Step -1 If Target >= Dato(I, 1) Then Application.EnableEvents = False Target = Dato(I, 1) Application.EnableEvents = True Exit Sub End If Next End If End Sub
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.