Avatar billede dane022 Seniormester
12. juli 2013 - 10:09 Der er 5 kommentarer og
1 løsning

Spring over kode ved fejl

I et udpluk af en makro, har jeg denne kode:

strDescrip = objRecordsetAD.Fields("description")
        For i = 0 To UBound(strDescrip)
        strUafd = strDescrip(i)
        Next
        Range("bruger_afdeling") = strUafd

Koden henter afdelingsnavnet fra Active Directory (AD). Problemet opstår når afdelingsnavnet ikke er udfyldt i AD, så vil jeg have den at hente objRecordsetAD.Fields("department")

Hvordan skal koden se ud hvis den skal springe hele delen med strdescrip over og istedet indsætte bruge Range("bruger_afdeling") = objRecordsetAD.Fields("department") ?
Avatar billede dane022 Seniormester
12. juli 2013 - 10:10 #1
Rettelse: Hvordan skal koden se ud hvis den skal springe hele delen med strdescrip over i tilfælde af fejl og istedet indsætte bruge Range("bruger_afdeling") = objRecordsetAD.Fields("department") ?
Avatar billede MadsHaupt Juniormester
12. juli 2013 - 10:20 #2
Hvis du vil havde programmet til at springe over koden når der opstår fejl, så kan du bruge On Error Resume Next.

Code:

Public Class Form1

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        On Error Resume Next
    End Sub
End Class
Avatar billede dane022 Seniormester
14. juli 2013 - 14:25 #3
Hvor skal koden stå?
Avatar billede MadsHaupt Juniormester
14. juli 2013 - 14:37 #4
Du skal bare skrive On Error Resume Next i starten af funktion (Du kan ikke både havde Try og On Error).
Avatar billede dane022 Seniormester
14. juli 2013 - 15:07 #5
Jeg har prøvet on error resume next, men problemet er at den efterlader feltet blankt.
Det er sat op på den måde at koden henter Department til Range("bruger_afdeling") først og så er det meningen at hvis der er error i Description, så skal det ikke hentes og Department skal blive stående.

Det den gør nu, er at selvom koden skal springe Description over, så gør den alligevel noget så Range("bruger_afdeling") bliver blankt
Avatar billede MadsHaupt Juniormester
14. juli 2013 - 15:16 #6
Så kan du bruge Try Catch.

Kode eksampel:

Try
'Her skal koden stå.
Catch ex As Exception
'Her skal der stå, det den skal gøre hvis der opstår fejl.
'Fejl meddelsen står i ex.Message.
End Try
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