Avatar billede dane022 Seniormester
15. juni 2018 - 09:42 Der er 5 kommentarer

VBA tjek om indtastet værdi findes i andet ark

Hej eksperter

Jeg har problemer med at få denne kode til at virke. Det skal være sådan, at når man indtaster en værdi i kolonnen P, skal der søges i arket "Gl. ordning", kolonne E og tjekke om værdien findes. Hvis den gør, skal der komme en besked. Der skal ikke ske noget hvis værdien ikke findes.

Arkets kode:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("P:P")) Is Nothing Then
Call find_ma_nr
End If
End Sub

Modul1:
Sub find_ma_nr()
Dim FindString As String
Dim Rng As Range
If Trim(FindString) <> "" Then
    With Sheets("Gl. ordning").Range("E:E")
        Set Rng = .Find(What:=FindString, _
                        After:=.Cells(.Cells.Count), _
                        LookIn:=xlValues, _
                        LookAt:=xlWhole, _
                        SearchOrder:=xlByRows, _
                        SearchDirection:=xlNext, _
                        MatchCase:=False)
        If Not Rng Is Nothing Then
            MsgBox "værdi fundet"
        Else
        End If
    End With
End If
End Sub
15. juni 2018 - 10:30 #1
Variablen FindString får aldrig værdi, så det er ikke så mærkeligt at der ikke sker noget.
Avatar billede dane022 Seniormester
15. juni 2018 - 12:03 #2
Hvordan skal koden så se ud?
15. juni 2018 - 12:17 #3
Øh - hvad vil du gerne lede efter?
15. juni 2018 - 12:22 #4
Et skud fra hoften

Arkets kode:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("P:P")) Is Nothing Then
Call find_ma_nr Target.Cells(1,1)
End If
End Sub

Modul1:
Sub find_ma_nr(ledEfter as string)
Dim FindString As String
Dim Rng As Range
FindString = ledEfter
If Trim(FindString) <> "" Then
    With Sheets("Gl. ordning").Range("E:E")
        Set Rng = .Find(What:=FindString, _
                        After:=.Cells(.Cells.Count), _
                        LookIn:=xlValues, _
                        LookAt:=xlWhole, _
                        SearchOrder:=xlByRows, _
                        SearchDirection:=xlNext, _
                        MatchCase:=False)
        If Not Rng Is Nothing Then
            MsgBox "værdi fundet"
        Else
        End If
    End With
End If
End Sub
23. september 2018 - 07:37 #5
Kunne det bruges?
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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