17. november 2009 - 21:49Der er
6 kommentarer og 1 løsning
Betingelse for at køre script...
Hej Alle
Hvordan laver jeg en betingelse der undersøger om celler i kolonne B har tallet 5 før min kode afvikles i et andet sted i rækken hvis der står noget andet i kolonne B så bliver der ikke lavet noget i rækken.... Tak for svar!!!
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Det er igen i forbindelse med koden til søgning. Jeg har 20000 linier hvor det faktisk kun er ca 200 der skal søges i, troede jeg kunne filtrere mig ud af problemet. Nå men faktum er at kolonne B indeholder det 5-tal som definere de 200linier, kolonne I indeholder mine tekststrenge.
Tak for hjælpen!!!
Sub søgord()
On Error Resume Next '--------------------------- Dim bok1 As Workbook Dim bok2 As Workbook Set bok1 = Workbooks("søgeord.xlsm") Set rng1 = bok1.Sheets(1).Range("A1:A" & bok1.Sheets(1).Cells(65536, 1).End(xlUp).Row)
Set bok2 = Workbooks("alt.xlsm") Set rng2 = bok2.Sheets(1).Range("I1:I" & bok2.Sheets(1).Cells(65536, 1).End(xlUp).Row)
'--------------------------- Dim varX As String Dim FindOrd As String Dim varY As String FindOrd = "" For Each C In rng2 'Tekststrenge i kolonne I FindOrd = "" For Each x In rng1 'Mine søgeord varX = InStr(1, C.Value, x.Value) If varX <> 0 Then varY = InStr(varX, C.Value, " ") If varY = 0 Then FindOrd = FindOrd & Mid(C.Value, varX, Len(C.Value)) & "" Else FindOrd = FindOrd & Mid(C.Value, varX, varY - varX) & "" End If End If Next x C.Offset(0, 1).Value = FindOrd Next C End Sub
On Error Resume Next '--------------------------- Dim bok1 As Workbook Dim bok2 As Workbook Set bok1 = Workbooks("søgeord.xlsm") Set rng1 = bok1.Sheets(1).Range("A1:A" & bok1.Sheets(1).Cells(65536, "A").End(xlUp).Row)
Set bok2 = Workbooks("alt.xlsm") rk = bok2.Sheets(1).Cells(65536, "I").End(xlUp).Row bok2.Sheets(1).Range("B1:B" & rk).AutoFilter Field:=1, Criteria1:="5" bok2.Sheets(1).Range("I1:I" & rk).SpecialCells(xlCellTypeVisible).Select Set rng2 = Selection Selection.AutoFilter '--------------------------- Dim varX As String Dim FindOrd As String Dim varY As String FindOrd = "" For Each C In rng2 'Tekststrenge i kolonne I FindOrd = "" For Each x In rng1 'Mine søgeord varX = InStr(1, C.Value, x.Value) If varX <> 0 Then varY = InStr(varX, C.Value, " ") If varY = 0 Then FindOrd = FindOrd & Mid(C.Value, varX, Len(C.Value)) & "" Else FindOrd = FindOrd & Mid(C.Value, varX, varY - varX) & "" End If End If Next x C.Offset(0, 1).Value = FindOrd Next C
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.