Avatar billede boro23 Forsker
23. januar 2012 - 13:01 Der er 7 kommentarer og
1 løsning

VBA kode til registrering af medarbejdere

Hej Eksperter
Så har jeg igen brug for nogle troldmænd. Jeg har en medarbejder liste, der bruges når der skal udleveres div. varer.

Har oploadet et eksempel.

http://gratisupload.dk/vis/672335/
Avatar billede store-morten Ekspert
23. januar 2012 - 23:44 #1
Udfyld direkte i liste?

Tast Arb. nr. i kolonne c
Denne formel i D6 og fyld ned:
=HVIS(C6="";"<--- Indtast Arb. Nr.";HVIS(ER.IKKE.TILGÆNGELIG(LOPSLAG(C6;'Liste HER'!$A$1:$B$738;2;FALSK));"Findes ej";LOPSLAG(C6;'Liste HER'!$A$1:$B$738;2;FALSK)))
Avatar billede boro23 Forsker
24. januar 2012 - 06:42 #2
Hej store-morten

Det var ikke lige det jeg mente. Fremgangsmåden jeg har behov for er, at når jeg taster et arb. nr. i celle A3 og trykker enter, skal en formel eller VBA kode finde ud af om nr. og navn findes i listen og skrive meddelsen OK eller findes ej i celle A5. Hvis meddelsen OK står i celle A5 skal formlen/ VBAkoden kopiere nr. og navn ind i celle C6 og D6, hver gang der bliver tastet et nyt nr. skal forrige nr. og navn flytte en række ned osv.

Så når jeg har udleveret alle varene, har jeg et overblik hvem der modtaget varerne.

Håber min forklaring er forståelig
Avatar billede boro23 Forsker
24. januar 2012 - 06:57 #3
Hej igen store-morten

Har lige talt med en kollega om den formel du har lavet, det er muligt at hvis vi møblerer lidt rundt i filen, vi kan bruge din formel, vender tilbage
Avatar billede boro23 Forsker
24. januar 2012 - 10:21 #4
Hej store-morten

Bossen har nu godkendt vores nye fil med din formel, det tog noget tid at få ham overbevist at din formel var mest simple.

Mange tak for hjælpen, smider du et svar.
Avatar billede store-morten Ekspert
24. januar 2012 - 16:22 #5
Velbekomme
Avatar billede store-morten Ekspert
24. januar 2012 - 21:04 #6
VBA
Prøv at lægge denne på Ark1:
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ErrorHandle

If Not Intersect(Range("A3"), Target) Is Nothing Then

MedArbejderNr = Range("A3").Value
MedArbejderNavn = Application.WorksheetFunction.VLookup _
(ThisWorkbook.Sheets(1).Range("A3"), _
ThisWorkbook.Sheets(2).Range("A1:B738"), _
2, False)

Range("A5").Value = "OK"

Range("C6").Select
If Range("C6").Value = "" Then
    Range("C6").Activate
Else
    Range("C6").CurrentRegion.Select
    ActiveCell.Offset(Selection.Rows.Count, 0).Activate
End If
With ActiveCell
    .Offset(0, 0).Value = MedArbejderNr
    .Offset(0, 1).Value = MedArbejderNavn
End With
End If

Exit Sub

ErrorHandle:
'MsgBox Err.Number
Select Case Err.Number
        Case 1004
            Range("A5").Value = "Findes ej"
        Case Else
            ' Behandle andre fejl her...
    End Select
   
End Sub
Avatar billede boro23 Forsker
25. januar 2012 - 06:55 #7
1000 tak, vba koden virker også, men vi har valgt at lavet din version med formlen.
Avatar billede store-morten Ekspert
25. januar 2012 - 17:10 #8
Det er nok også det sikreste ;-)
Tak for point
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