Avatar billede hilmer101 Nybegynder
19. december 2007 - 15:15 Der er 10 kommentarer og
1 løsning

Simplere kode?

Denne kode må kunne skrives på en meget mere simpel måde?:

If Cells(i, 4).Value >= #1/1/2008# And Cells(i, 4).Value <= #1/31/2008# Then
    Cells(i, 8).Value = "Januar 2007"
    End If
    If Cells(i, 4).Value >= #2/1/2008# And Cells(i, 4).Value <= #2/29/2008# Then
    Cells(i, 8).Value = "Februar 2007"
    End If
    If Cells(i, 4).Value >= #3/1/2008# And Cells(i, 4).Value <= #3/31/2008# Then
    Cells(i, 8).Value = "March 2007"
    End If
    If Cells(i, 4).Value >= #4/1/2008# And Cells(i, 4).Value <= #4/30/2008# Then
    Cells(i, 8).Value = "April 2007"
    End If
    If Cells(i, 4).Value >= #5/1/2008# And Cells(i, 4).Value <= #5/31/2008# Then
    Cells(i, 8).Value = "May 2007"
    End If
    If Cells(i, 4).Value >= #6/1/2008# And Cells(i, 4).Value <= #6/30/2008# Then
    Cells(i, 8).Value = "June 2007"
    End If
    If Cells(i, 4).Value >= #7/1/2008# And Cells(i, 4).Value <= #7/31/2008# Then
    Cells(i, 8).Value = "July 2007"
    End If
    If Cells(i, 4).Value >= #8/1/2008# And Cells(i, 4).Value <= #8/31/2008# Then
    Cells(i, 8).Value = "August 2007"
    End If
    If Cells(i, 4).Value >= #9/1/2008# And Cells(i, 4).Value <= #9/30/2008# Then
    Cells(i, 8).Value = "September 2007"
    End If
    If Cells(i, 4).Value >= #10/1/2008# And Cells(i, 4).Value <= #10/31/2008# Then
    Cells(i, 8).Value = "October 2007"
    End If
    If Cells(i, 4).Value >= #11/1/2008# And Cells(i, 4).Value <= #11/30/2008# Then
    Cells(i, 8).Value = "November 2007"
    End If
    If Cells(i, 4).Value >= #12/1/2008# And Cells(i, 4).Value <= #12/31/2008# Then
    Cells(i, 8).Value = "December 2007"
    End If


Og hvis det samtidig kan lade sig gøre at VBA'en selv går ind afgør hvilket årstal det drejer sig om. Fx hvis jeg har en dato der sige 01-01-2009, så skriver den januar 2009 af sig selv??
Avatar billede hilmer101 Nybegynder
19. december 2007 - 15:16 #1
i stedet for "januar 2007", "Februar 2007" osv. skal der naturligvis stå "Januar 2008", "Februar 2008" osv :)
Avatar billede supertekst Ekspert
19. december 2007 - 15:47 #2
Prøv:

  cells(i,8) = MonthName(Month(Cells(i, 4))) + " " + Format(Cells(1, 1), "YYYY")
Avatar billede mikker Nybegynder
19. december 2007 - 15:48 #3
Gæt:

cells(i,8) = format(cells(i,4),"MMM",2,2) & " " & year(now)

Eller

select case cdbl(format(cells(i,4),"MM",2,2))
case is = 1
cells(i,8) = "Januar " & year(now)
case is = 2
cells(i,8) = "Februar " & year(now)
...
case else
end select


Eller noget i den stil...
Avatar billede mikker Nybegynder
19. december 2007 - 15:49 #4
Supertekst har ret - den er nemmere.
Avatar billede hilmer101 Nybegynder
20. december 2007 - 08:44 #5
Tak skal du have supertekst
Avatar billede hilmer101 Nybegynder
20. december 2007 - 08:44 #6
Hvorfor kan jeg ikke give point?? Det kunne jeg squ da igår?
Avatar billede supertekst Ekspert
20. december 2007 - 09:16 #7
Selv tak - fordi jeg ikke har lagt et svar - det får du her...
Avatar billede hilmer101 Nybegynder
20. december 2007 - 09:24 #8
Sådan?
Avatar billede supertekst Ekspert
20. december 2007 - 12:57 #9
Næ - du skal markere mit svar og derefter acceptere dette.
Avatar billede hilmer101 Nybegynder
20. december 2007 - 13:07 #10
så nu skulle de være der
Avatar billede supertekst Ekspert
20. december 2007 - 13:12 #11
Yes...
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
Kurser inden for grundlæggende programmering

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