Avatar billede ups34 Nybegynder
28. august 2010 - 13:29 Der 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

MVH
UPS
Avatar billede ups34 Nybegynder
28. august 2010 - 13:31 #1
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
Avatar billede excelent Ekspert
30. august 2010 - 22:46 #2
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
Avatar billede ups34 Nybegynder
01. september 2010 - 14:29 #3
Hej excelent
ja heldige var vi ikke ;-)

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?

Håber du kan hjælpe
Avatar billede excelent Ekspert
01. september 2010 - 19:30 #4
ok så prøv

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
Avatar billede ups34 Nybegynder
06. september 2010 - 09:02 #5
Hej exelent

Nu virker formlen som ønsket, men jeg ønsker at det kun er værdien der bliver kopieret, ikke koden jeg får en -reference når jeg aktivere makroen.

Jeg skal brge noget i retning af:

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Men kan ikke gennemskue hvor jeg skal sætte det ind
Avatar billede excelent Ekspert
06. september 2010 - 15:22 #6
så prøver vi igen :-)

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
Avatar billede ups34 Nybegynder
07. september 2010 - 10:20 #7
Hej Excelent
1000 tak for hjælpen, det virker perfekt

MVH
Ups
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester