| |
Skriv dato i korrekt måned
I A2 indtastes skiftende
datoer. Disse datoer skal overføres en relevant månedskolonne afhængig af,
hviilken dato, der er tastet.. Februar er i B-kolonnen, Marts i C-kolonnen og så
fremdeles. Der kan aldrig indtastes mere end en dato i hver måned, og der
indtastes ikke nødvendigvis datoer i alle måneder.
Koden er en hændelsesprocedure,
og skal placeres i kodemodulet for det ark, den skal anvendes i.
Private Sub Worksheet_Change(ByVal
Target As Range)
Dim maaned as byte
' Undersøg om der er tastet i A2 og
undersøg dernæst om det tastede er en dato.
' I modsat fald vises en fejlmeddelelse og makroen forlades. A2 aktiveres igen.
' Er der tastet en dato i et korrekt format, tages månedsværdien af denne.
' Månedsværdien tildeles til variablen maaned.
If Not Intersect(Target, Range("A2")) Is Nothing Then
If IsDate(TargetValue) = False Then
MsgBox "Der
skal indtastes en dato i korrekt format: ""dd-mm-åå""", vbCritical + vbOKOnly
Range("a2").Activate
Exit Sub
End If
maaned = Month(Target.Value)
Else
Exit Sub
End If
' Nu undersøges månedsværdien, og i
overensstemmelse med denne foretages en relevant
' forskydning i forhold til A2, hvorefter det tastede overføres til den
relevante kolonne.
' Celle A2 aktiveres til ny indtastning.
Select Case
maaned
Case Is = 1
Target.Offset(0, 1).Value = Target.Value
Case Is = 2
Target.Offset(0, 2).Value = Target.Value
Case Is = 3
Target.Offset(0, 3).Value = Target.Value
Case Is = 4
Target.Offset(0, 4).Value = Target.Value
Case Is = 5
Target.Offset(0, 5).Value = Target.Value
Case Is = 6
Target.Offset(0, 6).Value = Target.Value
Case Is = 7
Target.Offset(0, 7).Value = Target.Value
Case Is = 8
Target.Offset(0, 8).Value = Target.Value
Case Is = 9
Target.Offset(0, 9).Value = Target.Value
Case Is = 10
Target.Offset(0, 10).Value = Target.Value
Case Is = 11
Target.Offset(0, 11).Value = Target.Value
Case Is = 12
Target.Offset(0, 12).Value = Target.Value
End Select
Range("a2").Activate
End Sub
NB! De mange
anførselstegn omkring "dd-mm-åå" er nødvendige for at få VBA til at skrive
anførselstegnene som en del af tekststrengen.
- Tilbage til
makroer -
- Tilbage til
Excel -
|