Avatar billede c_skytte Nybegynder
17. august 2007 - 11:04 Der er 4 kommentarer

Indsætte Initialer (UserName) i bestemte celler??

Hej!

Mit ark ser således ud:

Spørgsmål:    | Svar:  | Oprettet af:
----------------------------------------------
                    |            | 
                    |            | 

Når jeg så opretter et nyt spørgsmål vil jeg gerne have at mine initialer (CS) automatisk bliver oprettet i cellen: "Oprettet af:"
Således:

Spørgsmål:      | Svar:  | Oprettet af:
----------------------------------------------
Hvorfor kan…    |            | CS
Hvorfor...        |            | CS

Hvis en anden bruger (Fx: KM) åbner og tilføjer et nyt spørgsmål, så bliver hans initialer indsat i arket således:

Spørgsmål:      | Svar:  | Oprettet af:
----------------------------------------------
Hvorfor kan…    |            | CS
Hvorfor er...    |            | CS
Hvilke ting..      |            |  KM

Det er vel noget med before.close eller sådan noget? Således at arket ”ved” hvilke nye rækker der er tilføjet siden sidste redigering og derfor indsætter brugerens initialer.

ELLER… (den jeg er mest tilhænger af:)

Noget med betinget formatering… sådan at hvis der skives et spørgsmål (kolonne A) indsættes brugerens initialer i kolonne C i den aktive række… der så bliver gemt i arket?
Avatar billede mugs Novice
17. august 2007 - 11:09 #1
Avatar billede c_skytte Nybegynder
17. august 2007 - 14:18 #2
Hey Mugs!

Det lyder jo altsammen meget godt... MEN det giver mig desværre ikke noget "endegyldigt" svar på mit spørgsmål..!!

Men siden du er så skarp, kan du vel lige kopier koden ind i denne tråd, eller...?

CS
Avatar billede kabbak Professor
17. august 2007 - 22:37 #3
Denne skal i ARKETS modul, virker ved indtastning i A kolonnen og skriver i C kolonnen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then ' 1 = kolonne A
Dim wshNetwork
    Dim Bruger As String
    Set wshNetwork = CreateObject("WScript.Network")
    Bruger = wshNetwork.UserName
    Target.Offset(0, 2) = Bruger '(0, 2), 0 betyder samme række, 2 tallet betyder 2 kolonner ved siden af hvor der tastes
    Set wshNetwork = Nothing
End If
End Sub
Avatar billede c_skytte Nybegynder
20. august 2007 - 08:14 #4
Hej kabbak!

Jamen det ser jo ud til at du har fundet løsningen !!  :o)

MEN...
Hvis du bruger din kode og markerer kolonne A og B og trykker delete, bliver der osse skrevet brugernavn i kolonne D og E..., så det er ikke helt rigtigt - synes jeg?!?  :o)

Men jeg fandt det her kode på nettet og umiddelbart ser det ud til at virke!!    :o))
CS


Private Sub Worksheet_Change(ByVal Target As Range)
Dim I As Range
Set I = Intersect(Range("A4:A900"), Target)

If I Is Nothing Then Exit Sub
Application.EnableEvents = False
Dim c As Range
For Each c In I
c.Offset(0, 2).Value = Environ("USERNAME")
Next c
Application.EnableEvents = True

End Sub
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