07. maj 2009 - 14:19Der er
8 kommentarer og 1 løsning
Funktion der kan gennemløbe en liste i Excel
Kære eksperter,
Jeg søger en funktion eller Makro i Excel som kan gennemløbe en kolonne med forskellige tekst strenge i hver celle og sammenligne hver enkelt celle med en liste af ord. Hver gang den finder et match skal den skrive en værdi fx. '*' i den samme række blot i kolonnen til venstre eller højre for. Findes der en sådan funktion eller skal der programmeres en makro?
Rem Kode indsættes i VBA-vinduet i arket, der skal gennemløbes (Højreklik - vis programkode) Rem Koden iværksættes fra arket - Alt+F8 afspil den viste makro
Rem DEFINITIONER - der kan tilpasses Rem ================================ Const arkTilTest = "Ark1" Const kolonneTilTest = "A"
Const tegnVedMatch = "*" Const kolonneVedMatch = "B" Rem ================================
Dim kildeArk, listeArk Sub startGennemløb() Application.ScreenUpdating = False
Set kildeArk = ActiveWorkbook.Sheets(arkTilTest) Set listeArk = ActiveWorkbook.Sheets(arkOrdListe)
Rem Gennemløber kolonnen indtil blank mødes With kildeArk For række = 1 To 65000 tekst = .Range(kolonneTilTest & CStr(række)) If tekst <> "" Then Rem Undersøg om ord findes i listen If findesOrd(tekst) = True Then .Range(kolonneVedMatch & CStr(række)).Value = tegnVedMatch End If Else MsgBox ("Gennemløb afsluttet") Exit Sub End If Next række End With
Application.ScreenUpdating = True
kildeArk.Activate End Sub Private Function findesOrd(ord) With listeArk.Range(kolonneOrdListe & ":" & kolonneOrdListe) Set c = .Find(ord, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then findesOrd = True Else findesOrd = False End If End With End Function
Evt.: - send en mail (adresse under profil) - så fremsendes filen m/model
Synes godt om
Ny brugerNybegynder
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.