Avatar billede tisbris Nybegynder
13. august 2004 - 11:39 Der er 6 kommentarer og
1 løsning

Automatisk comment

Hej...

Jeg er ved at lave et checkskema der vil blive brugt af flere personer, og derfor kunne jeg godt tænke mig at holde styr på hvem & hvornår de forskellige felter bliver afkrydset.

Da skemaet kommer til at indholde mange felter, synes jeg at det ville se pænest ud, hvis disse informationer bliver gemt som en 'comment'.

Kan dette lade sig gøre og vigtigst hvordan.....

Det er meget vigtigt at man kan se hvem og hvornår feltet er blevet af krydset.

På forhånd tak

Brian
Avatar billede bak Forsker
13. august 2004 - 13:36 #1
her er en kort version af en makro de kan gøre det. Lægges i arkets eget kodemodul (højreklik på arkfanen og vælg "vis programkode"

Private Sub Worksheet_Change(ByVal Target As Range)
Dim User As String
        User = (Environ("Username") & "  :  " & Now())
        Target.AddComment User
        Target.Comment.Shape.TextFrame.AutoSize = True
End Sub
Avatar billede tisbris Nybegynder
13. august 2004 - 14:59 #2
hej bak

dit forslag virker næsten, problemet er hvis en bruger indtaster i det forkerte felt og ønsker at slette dette kommer der en fejlmeddelelse, og der efter er man nød til at højreklikke for at slette 'comment'. Er det ikke muligt at slippe for dette....hvis der dukkede en msgbox op, hvor bruger skulle svare ja/nej til at slette ville dette være rart, så man ikke sletter eventuel log - se nye ønsker nedenfor.

Når vi nu er igang, er det muligt at lave en form for log - dvs ny linie i 'comment' ved hver ændring af cellens indhold, dette ville være at ønske, da checkskemaet bruger forskellige bogstaver alt efter produktets tilstand. Hvis det indtastet bogstav kommer med i 'comment' vil det være helt perfekt.

Jeg håber ikke at det er blevet for meget, men jeg giver gerne ekstra 200 point ( har ikke mange at give af ....)for den perfekte løsning.

På forhånd mange tak

Brian
Avatar billede bak Forsker
13. august 2004 - 16:24 #3
Jeg havde en anelse om at du ville ønske mere :-)
nedenstående makro logger alle ændringer på arket indenfor et defineret område.
hvis man taster i forkert felt og derefter sletter bliver det også logget.
(man kunne jo have slettet en andens felt.)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim User As String, stOldText As String
'**********************************************************************
'Disse 3 linier kan slettes hvis man ønsker at kommenteringen skal
'ske på alle celler i arket.
'Ellers skal man ændre linien Set rng = range("B1:K100") til det
'område man ønsker at kommentering skal ske i.
Dim rng As Range
Set rng = Range("B1:K100")
If Intersect(Target, rng) Is Nothing Then Exit Sub
'**********************************************************************
        User = Target.Value & " : " & (Environ("Username") & "  :  " & Now())
        On Error Resume Next
        If IsError(stOldText = Target.Comment.Text) = True Then
            Target.AddComment User
        Else
            stOldText = Target.Comment.Text
            Target.Comment.Text Text:=stOldText & vbLf & User
        End If
        Target.Comment.Shape.TextFrame.AutoSize = True
End Sub
Avatar billede bak Forsker
13. august 2004 - 16:34 #4
ps, nøjes du bare med de 100.
reglerne siger 60 = svært
Avatar billede bak Forsker
13. august 2004 - 16:48 #5
et svar :-)
Avatar billede tisbris Nybegynder
13. august 2004 - 18:19 #6
Du er gud - mange tak
Avatar billede bak Forsker
13. august 2004 - 18:43 #7
Ikke gud, forløbigt mål er Guru :-)
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