02. januar 2008 - 17:05Der er
10 kommentarer og 1 løsning
Check en celle for indhold
Jeg har en lille opgave som lyder:
jeg søger på et navn XX, når navnet er fundet gøres cellen med navnet aktiv. Jeg skal så have undersøgt om den efterfølgende celle har et indhold. hvordan udføres denne test?
Sub test() On Error GoTo nomatch Range("A1:G1000").Find("XX", LookIn:=xlValues).Select If Selection.Offset(1, 0) <> "" Then MsgBox ("Cellen indeholder ") & Selection.Offset(1, 0) Else MsgBox ("Cellen er tom") End If Exit Sub nomatch: MsgBox ("Fandt ingen celler med XX") End Sub
I nogen tilfælde kan XX forekomme mere end én gang. og det er kun den sidste i kolonnne som jeg er interesseret i. Når XX er fundet, skal jeg have undersøgt om der står noget i de følgende linier - giver det mening?
koden finder både XX Xx xx xX sig til hvis det er et problem
Sub xFind() søgestreng = "XX" ' angiv evt. ny søgeværdi her rk = Cells(1000, 1).End(xlUp).Row x = Application.CountIf(Sheets("Ark11").Range("A1:A" & rk), søgestreng) If x = 0 Then GoTo nomatch adr = "A1" On Error GoTo nomatch For t = 1 To x y = Range(adr & ":A" & rk).Find(søgestreng, LookIn:=xlValues).Address adr = y Next If Range(adr).Offset(1, 0) <> "" Then MsgBox ("Cellen indeholder ") & Range(adr).Offset(1, 0) Else MsgBox ("Cellen er tom") End If Exit Sub nomatch: MsgBox ("Fandt ingen celler med ") & søgestreng End Sub
------------------ Hvis du foretrækker en formel så indsæt denne og afslut med ctrl+shift+enter
=HVIS(INDIREKTE("A"&MAKS(HVIS(A1:A1000="XX";RÆKKE(A1:A1000)))+1)<>"";INDIREKTE("A"&MAKS(HVIS(A1:A1000="XX";RÆKKE(A1:A1000)))+1);"Cellen er tom")
Der ser rigtig godt ud, og finder præcis det som jeg søgte. Jeg mangler blot nu få en handling på, når den har fundet den ønskede linie. I linen: If Range(adr).Offset(1, 0) <> "" Then, indeholder adr. adressen på linien med indholdet XX. Denne linie skal blot slettes. kan du også klare dette vil jeg blive superglad. :O)
Range(adr)="" bevirker ikke at linien slettes. Som jeg har forstået det, så peger adr kun på adressen. Hvordan kan man gøre cellen aktiv? dvs. placere cursoren der? eller bedre endnu, når adressen er kendt, kan rækkenummeret så tages ud af adressen, således at rækken kan slettes?
Det virker bare helt perfekt :O)). Tusinde tak for hjælpen og god weekend.
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.