Avatar billede hans.simon22 Juniormester
30. maj 2020 - 19:20 Der er 10 kommentarer

VBA: hvorfor kommer errorHandleren frem, hvis informationen er tastet korrekt. Har bruge for en hurtig hjælp.

Her skal jeg lave en søgefunktion.

Alt kører uden problemer, dog når jeg taster noget rigtig, så kommer messageboksen frem med de korrekte info og derefter kommer errorHandleren frem og det skal ikke den gøre, da informationen er korrekt tastet.

Hvordan kan jeg fortælle til VBA at den skal ikke komme, når informationen er tastet korrekt.



Sub findInformation()

   
 

    Dim age As Double
    Dim surname As String
    Dim kendteInfo As Double 
    Dim antalPer As Double
    Dim info1 As Double
    Dim info2 As String
   
    age = InputBox("Write an age")
    antalPer = Worksheets("Hjem").Range("A1").End(xlDown).Row


    If (IsNumeric(age)) Then
        surname = age
    Else
        surname = 1
    End If
   
    For kendteInfo = 2 To antalPer
        info1 = Worksheets("Hjem").Cells(kendteInfo, 1).Value
        info2 = Worksheets("Hjem").Cells(kendteInfo, 2).Value
       
        If (info1 = age Or infoNavn = surname) Then
        MsgBox "Her er infor i systemmet!" & vbCrLf & "Age: " & info1 & vbCrLf & "Surname: " & infoNavn, vbOKOnly + vbInformation
        ElseIf (info1 = age Or info2 = surname) Then
       
        If (info1 = age) Then
        On Error GoTo errorhandler
        End If
       
        End If
   
    Exit For
   
    Next
   

errorhandler:
        MsgBox "Har ikke fundet info!", vbOKOnly + vbInformation
       
   
Exit Sub

End Sub
Avatar billede kim1a Ekspert
30. maj 2020 - 19:46 #1
Skal du ikke blot have en exit sub (ekstra) mellem next og errorhandler?
Avatar billede Jan K Ekspert
30. maj 2020 - 19:53 #2
Til gengæld er den sidste  Exit Sub overflødig. Der er ingen grund til at exitte, når sub'en ender i næste linje.
Avatar billede hans.simon22 Juniormester
30. maj 2020 - 19:55 #3
#1  Har prøvet og det hjælper ikke.
Avatar billede hans.simon22 Juniormester
30. maj 2020 - 19:56 #4
#2 Har fjernet det, men stadig kører errorhandleren efter de korrekte info
Avatar billede Jan K Ekspert
30. maj 2020 - 22:45 #5
Det er ikke helt nemt at se,m hvad din kode skal gøre, når man ikke har arket, der arbejdes i, men prøv at flytte den sidste Exit Sub op foran Exit For.
Avatar billede hans.simon22 Juniormester
30. maj 2020 - 23:41 #6
#5 har prøvet det. Nu forsvinder errorhandleren, men når jeg skriver noget forkert, så kommer ikke den frem, og den skal komme frem, da den indtastede information findes ikke i arket.

Så ved ikke hvad skal jeg gøre nu.
Avatar billede store-morten Ekspert
31. maj 2020 - 00:20 #7
Du bruger, On Error GoTo errorhandler, helt forkert?
Bruges til hvis der opstår en uventet fejl i kode.
Avatar billede hans.simon22 Juniormester
31. maj 2020 - 00:22 #8
#8 Yeps.
har allerede fundet fejlen. Nu kører den uden problemer.
Avatar billede hans.simon22 Juniormester
31. maj 2020 - 00:23 #9
#7 Yeps.
har allerede fundet fejlen. Nu kører den uden problemer
Avatar billede kim1a Ekspert
31. maj 2020 - 09:36 #10
Så lad os få din løsning at se så andre der finder frem til denne tråd ved hvad der skal ske.
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

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