28. august 2010 - 13:29Der er
6 kommentarer og 1 løsning
Søge i celler efter tekst eller tal og kun kopier celler med indhold til andet ark
Hej alle
Jeg har i kolonnen AA forskellige info, både tal og tekst. Info kommer i forskellige celler. Jeg ønsker en formel der læser kolonne AA og kopier indholdet fra de celler der indeholder info til et andet ark. Det er vigtigt at bevare herakiet mellem celler(rækker), altså at AA12 kommer før AA16, men kun hvis der står info, ellers skal AA16 stå øverst. Der vil være info i ca 15-20 celler. Række nr er fra 1 - 78 Jeg har en userform hvor formlen kan stå ved "gem" knappen Håber på hjælp
Jeg mangler måske lige at skrive: Det er vigtigt at herakiet på det nye ark bliver, at første celle fundet bliver placeret på A1, næste celle fundet A2 osv
Sub tst() For Each c In Range("AA1:AA78") Set sh1 = Sheets("Ark3") ' kilde ark - ret til aktuel Set sh2 = Sheets("Ark4") ' destinations ark - ret til aktuel rk = sh2.Cells(65000, "AA").End(xlUp).Row + 1 If c = "info" Then sh1.Range("A" & c.Row & ":IV" & c.Row).Copy sh2.Range("A" & rk) Next End Sub
Rent held hvis den virker med de sparsomme oplysninger
Den kopier ikke kun fra AA, men tager oplysninger med fra resten af kolonnerne.
Den læser altså altså godt nok om der står en værdi i en celle i AA, men den kopier ikke kun den pågældende celle og aflevere den til A2 på det andet ark
Sub Linier()
For Each c In Range("AA1:AA78") Set sh1 = Sheets("MH") ' kilde ark - ret til aktuel Set sh2 = Sheets("Til variant") ' destinations ark - ret til aktuel rk = sh2.Cells(65000, "AA").End(xlUp).Row + 1 If c > 1 Then sh1.Range("A" & c.Row & ":IV" & c.Row).Copy sh2.Range("A" & rk) Next End Sub
Er det evt at rk er sat til at være = sh2, burde det ikke være sh1?
Sub Linier() Set sh1 = Sheets("MH") ' kilde ark - ret til aktuel Set sh2 = Sheets("Til variant") ' destinations ark - ret til aktuel For Each c In sh1.Range("AA1:AA78") rk = sh2.Cells(65000, "A").End(xlUp).Row + 1 If c > 1 Then c.Copy sh2.Range("A" & rk) Next End Sub
Sub Linier() Set sh1 = Sheets("MH") ' kilde ark - ret til aktuel Set sh2 = Sheets("Til variant") ' destinations ark - ret til aktuel For Each c In sh1.Range("AA1:AA78") rk = sh2.Cells(65000, "A").End(xlUp).Row + 1 If c > 1 Then x = c: sh2.Range("A" & rk) = x Next End Sub
Hej Excelent 1000 tak for hjælpen, det virker perfekt
MVH Ups
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.