Avatar billede roadrunner Nybegynder
20. april 2001 - 22:16 Der er 7 kommentarer og
1 løsning

Excel dato

Jeg skal have lavet en kode som laver en celle i en anden farve når en bestemt dato nås, det vil sige at jeg har en dato i arket og når jeg kommer frem til den dato så kommer der en besked frem og cellen ændre farve, denne farve skal blive der selv om datoen overskrides
Avatar billede easyware Nybegynder
20. april 2001 - 22:45 #1
Skal du skrive din kode i Visual Basic eller vil du skrive den direkte i VBA. Hvordan fremkommer den dato der skal aktivere farve, er det ud af en serie i f.eks. en kolonne. Har du tænkt at skrive datoen der skal aktivere i en celle.



Avatar billede roadrunner Nybegynder
21. april 2001 - 06:41 #2
Jeg indtaster en kode der udregner at det er den rigtige dato,og når den dato så runder, så er det at jeg skal have en farvemarkering, hvilket pogrameringssprog det skal være det ved jeg ikke
Avatar billede nih Novice
21. april 2001 - 19:12 #3
Sub test()
    dat = Range(\"a1\")
    If dat = #1/1/01# Then
        Range(\"a1\").Interior.ColorIndex = 6
    End If
End Sub

Er det noget i denne stil ????

Niels
Avatar billede roadrunner Nybegynder
22. april 2001 - 07:25 #4
Ja, det ser jo godt ud, men er der ikke en mulighed for at \"den selv\" ser hvad dato der står i A1 og så laver farven.
Jeg har i kolonnen \"A1\" ca 900 datoer så det ville alt andet lige være lettere hvis den selv så, farvemarkeringen må også gerne ligge i en anden celle hvis det er lettere.
Avatar billede nih Novice
22. april 2001 - 16:02 #5
dim c as range

for each c in range(\"a1:a900\")
  if c.value >= #1/1/01#
    c.interior.colorindex = 6
  end if
next c
Avatar billede roadrunner Nybegynder
22. april 2001 - 21:47 #6
Det ser jo godt ud, men jeg kan ikke rigtig få det til at virke, er der en speciel fremgangsmåde.

Ps. jeg har ikke prøvet det her før.
Avatar billede nih Novice
23. april 2001 - 03:48 #7
okay
I excel trykker du alt-F11, og indsætter et modul.
I modulet ind sætter du flg kode:

Sub test()
Dim c As Range
For Each c In Range(\"a1:a900\")
  If c.Value >= #1/1/01# Then
    c.Interior.ColorIndex = 6
  End If
Next c
End Sub

HUSK at få begge sub\'er med.
Koden aktiveres som en makro fra excel (navn = test).

Løkken for/each løber i gennem hver celle i området a1 til a900, hvis cellens er større end eller lig med 1/1 2001 sættes baggrundsfarven til 6 (gul). referencedato\'en er sat i ## for at sikre vba læser den som dato og ikke som en beregning.

Niels
Avatar billede roadrunner Nybegynder
23. april 2001 - 18:49 #8
Tak skal du have, jeg acceptere dit svar, og er meget glad for det.
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