28. august 2006 - 15:22Der er
5 kommentarer og 1 løsning
søg makro
hejsa
jeg bruger denne makro på mit ark:
Private Sub Worksheet_Change(ByVal Target As Range) Dim Data() As Variant, I As Long If Target.Address = "$E$3" Then Data = Range("B1:B" & Range("B65536").End(xlUp).Row) For I = 1 To UBound(Data) If Data(I, 1) = Target.Value Then Range("B" & I).Select Exit Sub End If Next Application.EnableEvents = False Target = "Ikke fundet" Application.EnableEvents = True End If
End Sub
Men nu vil jeg gerne have den skal anvendes på celle E4 også. Der skal den søge efter tekst. Hvor meget skal jeg ændre i ovenstående for at begge makroer du'er ?
Private Sub Worksheet_Change(ByVal Target As Range) Dim Data() As Variant, I As Long If Target.Address = "$E$3" or Target.Address = "$E$4"Then Data = Range("B1:B" & Range("B65536").End(xlUp).Row) For I = 1 To UBound(Data) If Data(I, 1) = Target.Value Then Range("B" & I).Select Exit Sub End If Next Application.EnableEvents = False Target = "Ikke fundet" Application.EnableEvents = True End If
Det er ikke i samme kolonne den skal søge efter tekst. Det skal være i kolonne D. Men hvis jeg kopierer makroen og omdøber den til f.eks.Private Sub Worksheet_Change2(ByVal Target As Range). Og ændrer E3 til E4 og range B til D, så synes jeg ikke at det virker.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Data() As Variant, I As Long If Target.Address = "$E$3" Then Data = Range("B1:B" & Range("B65536").End(xlUp).Row) For I = 1 To UBound(Data) If Data(I, 1) = Target.Value Then Range("B" & I).Select Exit Sub End If Next Application.EnableEvents = False Target = "Ikke fundet" Application.EnableEvents = True Exit Sub End If
If Target.Address = "$E$4" Then Data = Range("D1:D" & Range("D65536").End(xlUp).Row) For I = 1 To UBound(Data) If Data(I, 1) = Target.Value Then Range("D" & I).Select Exit Sub End If Next Application.EnableEvents = False Target = "Ikke fundet" Application.EnableEvents = True End If End Sub
Det virker perfekt Kabbak, men lige et lille bonus spørgsmål.
Kan man få den til at være ligeglad med om man skriver store eller små bogstaver i felt E4. Alle værdier i kolonne D er store bogstaver, men det ville være smart hvis man bare kunne skrive små bogstaver i felt E4 og den stadig kunne finde den.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Data() As Variant, I As Long If Target.Address = "$E$3" Then Data = Range("B1:B" & Range("B65536").End(xlUp).Row) For I = 1 To UBound(Data) If UCase(Data(I, 1)) = UCase(Target.Value) Then Range("B" & I).Select Exit Sub End If Next Application.EnableEvents = False Target = "Ikke fundet" Application.EnableEvents = True Exit Sub End If
If Target.Address = "$E$4" Then Data = Range("D1:D" & Range("D65536").End(xlUp).Row) For I = 1 To UBound(Data) If UCase(Data(I, 1)) = UCase(Target.Value) Then Range("D" & I).Select Exit Sub End If Next Application.EnableEvents = False Target = "Ikke fundet" Application.EnableEvents = True End If End Sub
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.