Avatar billede h_s Forsker
15. marts 2008 - 21:05 Der er 9 kommentarer og
1 løsning

Indsæt ugenr. og måned

Jeg skal bruge en VBA-makro, der:

- Indsætter =UGE.NR(A2) i kolonne G ud fra datoen i A2
- Indsætter =MÅNED(A2) i kolonne H ud fra datoen i A2

Funktionerne i G og H skal indsættes i alle rækker helt ned til der ikke står en dato (tom) i kolonne A.

Håber I kan hjælpe.
Avatar billede jlemming Nybegynder
15. marts 2008 - 22:50 #1
Kan denne bruges?

Sub Makro1()
'
r = 2
lastrow = Range("A65536").End(xlUp).Row
For r = 2 To lastrow

    Cells(r, 7).Value = UgeNr(Cells(r, 1).Value)
    Cells(r, 8).Formula = (Cells(r, 1).Value)
    Cells(r, 8).NumberFormat = "mmm"
Next r
End Sub


Function UgeNr(MyDate) ' fra bak
Dim Resten As Single
Resten = (MyDate - 2) Mod 7
UgeNr = Int((MyDate - DateSerial(Year(MyDate + 3 - Resten), 1, Resten - 9)) / 7)
End Function
Avatar billede jlemming Nybegynder
15. marts 2008 - 22:55 #2
Og hvis du vil have fuld måned tekst, skal der bare et ekstra m.


    Cells(r, 8).NumberFormat = "mmmm"
Avatar billede h_s Forsker
16. marts 2008 - 09:15 #3
Det virker - Smid et svar!
Avatar billede jlemming Nybegynder
16. marts 2008 - 09:29 #4
Værsgo :o)
Avatar billede h_s Forsker
16. marts 2008 - 12:05 #5
Ups, der er en lille fejl i måneden.

i cellen vises 03, men der står 19-03-2007 i den. Hvordan får jeg slettet 19- og -2007, så jeg kan bruge 03 alene?
Avatar billede jlemming Nybegynder
17. marts 2008 - 17:26 #6
undskyld, havde ikke lige set det sidste, prøv denne:

Sub Makro1()
'
r = 2
lastrow = Range("A65536").End(xlUp).Row
For r = 2 To lastrow

    Cells(r, 7).Value = UgeNr(Cells(r, 1).Value)
    Cells(r, 8).Value = Format((Cells(r, 1).Value), "mm")
Next r
End Sub
Avatar billede jlemming Nybegynder
18. marts 2008 - 22:16 #7
Har du prøvet det sidste?
Avatar billede h_s Forsker
19. marts 2008 - 10:26 #8
Er prøvet nu, men der er noget galt med formatet - Når der står 02-04-2007 i Kolonne A, står der 04-01-1900 i Kolonne H, Der vises kun 01.
Jeg har behov for at står der 02-04-2007 i Kolonne A, skal der kun stå og vises 04 i kolonne H.
Avatar billede jlemming Nybegynder
19. marts 2008 - 10:47 #9
Det lyder mærkelig, virker fint hos mig, når jeg starter med et nyt ark.
Er din a kolonne i dato format?

Prøv denne:
Sub Makro1()
'
r = 2
lastrow = Range("A65536").End(xlUp).Row
For r = 2 To lastrow
    Cells(r, 7).NumberFormat = "General"
    Cells(r, 8).NumberFormat = "General"

    Cells(r, 7).Value = UgeNr(Cells(r, 1).Value)
    Cells(r, 8).Value = Format((Cells(r, 1).Value), "mm")
Next r
End Sub

Function UgeNr(MyDate) ' fra bak
Dim Resten As Single
Resten = (MyDate - 2) Mod 7
UgeNr = Int((MyDate - DateSerial(Year(MyDate + 3 - Resten), 1, Resten - 9)) / 7)
End Function
Avatar billede h_s Forsker
19. marts 2008 - 13:14 #10
Fint nu virker det! - Tak!
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