Hos mig returnere funktionen: "Søgeresultaterne 1 - 10 ud af ca. 35.900.000" så jeg ved ikke hvad du gør galt! Hvad er værdien af Pos1 og Pos2 når du når til linien "GetSearchCount = Mid(Text, Pos1, Pos2 - Pos1)" ?
Man kalder funktionen med alt søge teksten. Den indeholder bla. "><font size=-1>Søgeresultaterne <b>1</b> - <b>10</b> ud af ca. <b>36.600.000</b> for <b>hej</b>."
Funktionen leder efter ">Søgeresultaterne" og angiver i Pos1 på hvilken position denne tekst befinder sig. Så leder den efter den 3. forekomst af "</b>".
Så burde man stå tilbage med: "Søgeresultaterne <b>1</b> - <b>10</b> ud af ca. <b>36.600.000</b>".
Derefter restattes "<b>" og "</b>" med "" således at vi returnere: "Søgeresultaterne 1 - 10 ud af ca. 36.600.000".
Forstår du ikke hvad koden gør, og kan du heller ikke debugge din kode? Der er jo slet ingen error handling i koden, men jeg får dog samme resultat som dig hvis jeg søger på google efter ingenting, altså at Text1 = "". Det er jo lisom en betingelse at der i resultatet findes teksten ">Søgeresultaterne" ellers virker funktionen jo ikke. Du kan bygge funtionen om således at den ikke returnere noget hvis den ikke finder ">Søgeresultaterne".
Private Function GetSearchCount(Text As String) As String
Dim Pos1 As Long
Dim Pos2 As Long
Dim X1 As Integer
Pos1 = InStr(1, Text, ">Søgeresultaterne") + 1
If Pos1 > 1 Then
Pos2 = Pos1
For X1 = 1 To 3
Pos2 = InStr(Pos2, Text, "</b>") + 4
Next X1
GetSearchCount = Mid(Text, Pos1, Pos2 - Pos1)
GetSearchCount = Replace(GetSearchCount, "<b>", "")
GetSearchCount = Replace(GetSearchCount, "</b>", "")
End If
End Function