05. december 2014 - 08:25
Der er
5 kommentarer og
1 løsning
Søgefunktion virker ikke længere
Har en regneark til reg. af energi, som har fungeret finy, men nu kan det pludselig ikke finde datoer ved søgning i forskellige ark.
Det er nok det nærmeste jeg kan komme en forklaring, men jeg vil gerne sende filen.
Der vil senere følge en bedre problembeskrivelse og løsning til øvrige på Eksperten.
05. december 2014 - 14:42
#5
'Finder aflæsning 1 år siden
FindString = IndlæsNyeAflæsninger.AflæsDato1ÅrSiden.Value
If Trim(FindString) <> "" Then
rækkenr = søgRækkeNr(test1, FindString) 'Ny søgerutine
If rækkenr > 0 Then
Set Rng = Sheets(test1).Range("A" & rækkenr)
Else
Set Rng = Nothing
End If
With ActiveSheet.Range("A:A")
' 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
Application.Goto Rng, True
IndlæsNyeAflæsninger.Aflæsning1ÅrSiden.Value = Rng.Offset(0, 3).Value
IndlæsNyeAflæsninger.ForrigeAflæsning1ÅrSiden.Value = Rng.Offset(-1, 3).Value
IndlæsNyeAflæsninger.MånedISidsteÅr.Value = IndlæsNyeAflæsninger.Aflæsning1ÅrSiden.Value - IndlæsNyeAflæsninger.ForrigeAflæsning1ÅrSiden.Value
Else
IndlæsNyeAflæsninger.Aflæsning1ÅrSiden.Value = "Data ikke fundet"
IndlæsNyeAflæsninger.ForrigeAflæsning1ÅrSiden = "Data ikke fundet"
IndlæsNyeAflæsninger.MånedISidsteÅr.Value = "0"
End If
End With
End If
..
..
..
Private Function søgRækkeNr(arkNavn, dato)
Dim række As Long
række = findRække(arkNavn, "A:A", dato)
If række > 0 Then
søgRækkeNr = række
Else
søgRækkeNr = 0
End If
End Function
Private Function findRække(ark, område, tekst)
With ActiveWorkbook.Sheets(ark).Range(område)
Set c = .Find(CStr(tekst), LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
findRække = c.Row
Else
Set c = .Find(tekst, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
findRække = c.Row
Else
findRække = 0
End If
End If
End With
End Function