Avatar billede warberg78 Nybegynder
30. august 2008 - 19:25 Der er 13 kommentarer og
1 løsning

MsgBox istedet for VBA fejlmeddelse ved søgning

Jeg har et par løkker som søger efter ordet som står i felt B1, men mit problem er at jeg gerne vil have en MsgBox hvis ordet ikke findes i det søgte område, istedet for at VBA returnerer med en fejlmeddelse, Jeg bruger disse løkker, og kan derfor ikke indsætte et "else" i min if-løkke, da den så ikke søger i resten rækkerne:

    For Each
        If  Then
   
            Exit For
        End If
    Next
Avatar billede kabbak Professor
30. august 2008 - 19:58 #1
OK = False
For Each
        If  Then
            'fundet
            OK = true
            Exit For
        End If
    Next

if not OK then Msgbox "Ikke fundet"
Avatar billede warberg78 Nybegynder
30. august 2008 - 22:48 #2
Det virker, men kan jeg skrive noget umiddelbart efter (If Not OK Then MsgBox "Ikke fundet)" sådan at den afslutter makroen og ikke kommer med en makro fejlmeddelsen, da jeg har en del koden efter denne linje, som den jo bare skal droppe
Avatar billede kabbak Professor
30. august 2008 - 22:55 #3
exit sub
Avatar billede kabbak Professor
30. august 2008 - 23:06 #4
if not OK then
Msgbox "Ikke fundet"
exit sub
end if
Avatar billede kabbak Professor
30. august 2008 - 23:06 #5
;-))
Avatar billede warberg78 Nybegynder
30. august 2008 - 23:09 #6
Hvis jeg indsætter "exit sub" på linjen under linjen "if not OK Then MsgBox...." så afsluttes makroen hver gang uanset om OK er true eller False og det er jo ikke meningen da den gerne skal gå videre i subben hvis ordet bliver fundet
Avatar billede kabbak Professor
30. august 2008 - 23:14 #7
se 30/08-2008 23:06:29
Avatar billede warberg78 Nybegynder
30. august 2008 - 23:18 #8
Så ikke dit svar men hvis jeg bruger:

if not OK then
Msgbox "Ikke fundet"
exit sub
end if

Så siger den at man ikke kan bruge et End if hvis man ikke starter med et IF
Avatar billede kabbak Professor
30. august 2008 - 23:21 #9
så mangler du et IF, et andet sted i koden.

må vi se noget mere kode, så skal jeg kikke efter.
Avatar billede warberg78 Nybegynder
30. august 2008 - 23:22 #10
Glem 30/08-2008 23:18:31
Avatar billede warberg78 Nybegynder
30. august 2008 - 23:24 #11
Dim Data As Variant
    Dim Firma As String, C As Range
    Dim RkStart As Integer, RkSlut As Integer
    Dim OK As Boolean
   
    Firma = ActiveSheet.Cells(1, 2)                                                                     
    OK = False
    For Each C In Sheets("Udgangspunkt").Columns("A").Cells
        If C = Firma Then
            RkStart = C.Row
            RkSlut = C.End(xlDown).Offset(-1, 0).Row
            OK = True
            Exit For
        End If
    Next
   
    If Not OK Then
    MsgBox "Ikke fundet"
    Exit Sub
    End If
   
    Data = Sheets("Udgangspunkt").Range("A" & RkStart & ":C" & RkSlut)

Den virker faktisk, men den kommer stadig med en makro-fejl efter jeg har klikket på OK i MSgBox
Avatar billede warberg78 Nybegynder
30. august 2008 - 23:28 #12
Vent, jeg er for hutigt på aftrækkeren, det er fordi jeg har en andre makro som kalder en makro mere efter denne, og den har jeg ikke rettet, så alt er i den fineste orden
Avatar billede kabbak Professor
30. august 2008 - 23:32 #13
Jeg sad også lige at tænkte på kaldet af denne makro, for jeg har jo selv laven den
Avatar billede warberg78 Nybegynder
30. august 2008 - 23:43 #14
Ja det er korrekt at du lavede den i torsdags, og efter disse finjusteringer er det bare blevet helt perfekt, jeg takker igen! :-)
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
Kurser inden for grundlæggende programmering

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