Avatar billede tvc Seniormester
21. september 2005 - 19:36 Der er 12 kommentarer og
1 løsning

Label i UserForm opdateres ikke!

Hej

Jeg har et besynderligt problem.

Jeg har i en makro indsat en "stempel funktion" der skriver dato og tidspunkt p.t. - Now() - i cellen "ADato".

Til min label har jeg skrevet følgende kode:
lblADato.Caption = "Seneste kørsel blev foretaget den " & vbCrLf & Range("ADato").Value

Det besynderlige er, at labelen ikke opdaterer føre jeg har lukket arket ned og op igen.

Findes der en funktion der kan rense UserFormen inden den udfylder mine ønskede værdier?

Hilsen

TVC
Avatar billede brynil Nybegynder
21. september 2005 - 19:43 #1
Hvor har du placeret koden "lblADato.Caption = "Seneste ...." ?
Avatar billede tvc Seniormester
21. september 2005 - 19:56 #2
Under UserFormen
Avatar billede tvc Seniormester
21. september 2005 - 19:56 #3
I Private Sub UserForm_Initialize()
Avatar billede kabbak Professor
21. september 2005 - 19:57 #4
prøv at sætte den under

Private Sub UserForm_Activate()
Avatar billede brynil Nybegynder
21. september 2005 - 19:58 #5
Jamen, så udføres handlingen jo kun når userformen initialiseres, dvs, når formen åbnes!
Avatar billede brynil Nybegynder
21. september 2005 - 19:59 #6
Hvornår har du tænkt dig at opdateringen skal ske ? Du kan gøre det på mange forskellige måder!
Avatar billede tvc Seniormester
21. september 2005 - 20:04 #7
JEg vil gerne have at den skal opdatere hver gang jeg foretager ændringer til de informationer der står på formen.

Eksempelvis har jeg en periode der kan ændres 1, 2, 3, 6 eller 12 mdr.

Jeg har indsat en ComboBox med valgmulighederne i og som standard sat Comboboxen til at være Enabled = False (ikke aktiv). Ved at klikke på en CommandButton ved siden af foretages følgende handling:

Public SkiftGem as String

Private Sub cmdSkift_Click()
If SkiftGem = "Skift" Then
    CbbPeriode.Enabled = True
    cmdSkift.Caption = "Gem"
    SkiftGem = "Gem"
End If

If SkiftGem = "Gem" Then
    CbbPeriode.Enabled = False
    cmdSkift.Caption = "Skift"
    SkiftGem = "Skift"
End If
End Sub
Avatar billede tvc Seniormester
21. september 2005 - 20:14 #8
Jeg tager hjem nu men vender tilbage når jeg er kommet hjem fra arbejde.

Tak for hjælpen til nu.
Avatar billede brynil Nybegynder
21. september 2005 - 20:27 #9
Det kunne måske være logisk hvis du opdaterede cellen når du foretog et valg i comboboxen. Men du kan jo placere koden der udløser handlingen forskellige steder.

Lav først en sub i et modul fx:

Sub Tidspunkt()
    ActiveSheet.Range("ADato").Formula = "=NOW()"
End Sub

Koden der udløser ovennævnte kan som nævnt placeres forskellige steder  og ved forskellige handlinger. Herunder vist når du ændrer valg i comboboxen:

Private Sub ComboBox1_Change()
    Tidspunkt
End Sub

Det ku' også være i en knap:

Private Sub CommandButton1_Click()
    Tidspunkt
End Sub
Avatar billede tvc Seniormester
21. september 2005 - 21:51 #10
Hej brynil

Jeg har vist ikke helt forklaret mig godt nok.

Jeg har indsat nedenstående kode i den makro der foretager en kørsel i arket. Det er tidspunktet for den seneste kørsel jeg vil have vist i min UserForm.

Range("ADato").Value=Now() 'det er ikke funktionen NU() den indsætter men datoværdien

Mit problem er at den dato som indgår i min:
lblADato.Caption = "Seneste kørsel blev foretaget den " & vbCrLf & Range("ADato").Value

Ikke opdateres når jeg har foretaget en ny kørsel. Den viser den dato som UserFormen første gang blev åbnet med.

Kan man ikke resette alle varialber i en UserForm, så de efterfølgende kan blive ajourført/opdateret?
Avatar billede jkrons Professor
21. september 2005 - 23:03 #11
Problemet er, at din opdatering af arket ikek trigger en hændelse i Userformen. Du er derfor nok nødt til at lade makroen, der udfører pdateringen af arket, opdatere userformen også.  Fx noget i stil med

Userform1.lblADato.Caption = "Seneste kørsel blev foretaget den " & vbCrLf & Range("ADato").Value

Efter at du har opdateret Adato.
Avatar billede tvc Seniormester
22. september 2005 - 13:57 #12
-> jkrons

Det virker!!!!

Jeg har indsat

Userform1.lblADato.Caption = "Seneste kørsel blev foretaget den " & vbCrLf & Range("ADato").Value

i sub'en og nu virker det som det skal - TAK

Smider du et svar?
Avatar billede jkrons Professor
22. september 2005 - 14:07 #13
Velbekomme!
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel