15. januar 2013 - 10:11Der er
11 kommentarer og 1 løsning
Problem med at finde match
Jeg har 2 ark i et regneark - terrorliste og kontakttabel. I terrorliste er der følgende felter: Lastname, Firstname, Middelname, Wholename, Kolonne1, ID Kolonne1 indeholder en formel som tager navn fra Wholename frem til første mellemrum. Eks. hvis der står xxx yyy i Wholenams vil der stå xxx i Kolonne1
I kontaktliste er der følgende felter: First name, Middel name, Surname, No, Kolonne1, Kolonne2, Kolonne3, Kolonne4, Kolonne5, Kolonne6
Der skal ske det, at: 1. First name (kontaktliste) skal tjekkes op i mod Lastname (terrorliste). Der skal noteres de hists der findes med ID (terrorliste) i Kolonne1 (kontaktliste) 2. Middel name (kontaktliste) skal tjekkes op i mod Lastname (terrorliste). Der skal noteres de hists der findes med ID (terrorliste) i Kolonne2 (kontaktliste) 3. Surname name (kontaktliste) skal tjekkes op i mod Lastname (terrorliste). Der skal noteres de hists der findes med ID (terrorliste) i Kolonne3 (kontaktliste)
4. First name (kontaktliste) skal tjekkes op i mod Kolonne1 (terrorliste). Der skal noteres de hists der findes med ID (terrorliste) i Kolonne4 (kontaktliste) 5. Middel name (kontaktliste) skal tjekkes op i mod Kolonne1 (terrorliste). Der skal noteres de hists der findes med ID (terrorliste) i Kolonne5 (kontaktliste) 6. Surname name (kontaktliste) skal tjekkes op i mod Kolonne1 (terrorliste). Der skal noteres de hists der findes med ID (terrorliste) i Kolonne6 (kontaktliste)
Jeg har prøvet med Lopslag, men når det første hit er fundet stopper den jo søgningen og det dur ikke. Så håber der er en derude der kan lave en Function i vba.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Håber der fortsat er nogen der kan kommer med hint eller måske en løsning i vba. Det vil være fint hvis der kommer en løsning til pkt. 1, så kan jeg jo selv ændre i koden for de sidste 5.
Rem VBA-koden indsættes i ThisWorkbook Rem ================================== Dim ark1 As Worksheet 'terrorliste Dim antalRækker1 As Long Const idKolonne = 6
Dim ark2 As Worksheet 'kontaktliste Dim antalRækker2 As Long Public Sub findMatch() houseKeeping
match 1, 1, 5 'kolonne nr. End Sub Private Sub houseKeeping() Set ark1 = ActiveWorkbook.Sheets("terrorliste") antalRækker1 = findAntalRækker(ark1)
Set ark2 = ActiveWorkbook.Sheets("kontaktliste") antalRækker2 = findAntalRækker(ark2) End Sub Private Function findAntalRækker(ark) ark.Select findAntalRækker = ActiveCell.SpecialCells(xlLastCell).Row End Function Private Sub match(kildeKol, matchKol, resultatkol) Dim ræk As Long, kilde As String, resultat Rem traverser kontaktliste For ræk = 2 To antalRækker2 kilde = Cells(ræk, kildeKol) resultat = erDerMatch(kilde, matchKol) If resultat <> "" Then ark2.Cells(ræk, resultatkol) = resultat End If Next ræk End Sub Private Function erDerMatch(kilde, seIkol) Dim ræk As Long For ræk = 1 To antalRækker1 If kilde = ark1.Cells(ræk, seIkol) Then erDerMatch = ark1.Cells(ræk, idKolonne) Exit Function End If Next ræk End Function
Hej supertekst Så er jeg gået i gang med en test. Jeg skal du lige have at vide hvordan jeg lige kommer videre. Jeg kan forstå at jeg skal function erDerMatch(kilde, selkol), men kan du beskrive hvordan jeg skal bruge funktionen.
Der mangler ord i denne tekst, så det er rettet nu. Hej supertekst Så er jeg gået i gang med en test. Jeg skal dog lige have at vide hvordan jeg kommer videre. Jeg kan forstå at jeg skal bruge functionen erDerMatch(kilde, selkol), men kan du beskrive hvordan jeg skal bruge funktionen.
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.