Avatar billede jpc1 Juniormester
13. januar 2011 - 03:11 Der er 8 kommentarer og
1 løsning

kopier fra ark 1 til ark2

Hej jeg har fået et problem i excel har et program der kan flytte data fra ark1 til ark2 med mere med denne makro.

Private Sub Worksheet_Activate()
Rw = Cells.SpecialCells(xlCellTypeLastCell).Row
Range("A3:A" & Rw).EntireRow.Delete  ' sletter inden ny data

        Sheets("Ark1").Range("A2:s1000").AdvancedFilter Action:=xlFilterCopy, _
                                                        CriteriaRange:=Range("s1:s2"), CopyToRange:=Range("A2:r1000"), Unique:= _
                                                        False
    Range("A3").CurrentRegion.Font.Size = 8    ' retter skriftstørrelsen i ark2
End Sub

Så er problemet jeg vil gerne have flere kolonner og jeg har tilføjet nogle hvor jeg så har ændret de 3 (s) til (t) og (r) til (s) men nu kan jeg ikke få det til at virke igen håber der er en der hjælpe mig.
mvh jpc
ps. se evt tidligere tråd.
Avatar billede Ialocin Novice
13. januar 2011 - 08:48 #1
Hej jpc1

Her er et skud i tågen :O)

Jeg har kun rettet i følgende sekvens:

Sheets("Ark1").Range("A2:S1000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("T1:T2"), copyToRange:=Range("A2:S1000"), Unique:=  False

-----

Som jeg umiddelbart læser det:
Det første Range går fra Kolonne A, række 2 til kolonne S, række 1000 på "Ark1"  .... Det skal kopieres til det tilsvarende Range på "Ark2" ... Til gengæld er jeg ikke 100% på hvad dit CriteriaRange skal være ?? (jeg har ændret det til T1:T2" ????)

Med venlig hilsen, Nicolai
Avatar billede jpc1 Juniormester
13. januar 2011 - 12:41 #2
Hej Nicolai
Det jeg gør er jeg laver et sætind af kolonne foran kolonne R i ark1 og ark2 så går jeg ind i programkode og ændre som nedenfor.
Sheets("Ark1").Range("A2:t1000").AdvancedFilter Action:=xlFilterCopy, _
                                                        CriteriaRange:=Range("t1:t2"), CopyToRange:=Range("A2:s1000"), Unique:=
men der sker bare ikke noget på ark2 og den kommer ikke med en fejl melding som den ellers gør hvis ikke de to første linjer ikke er ens i de to ark. Det forstår jeg ikke hvad der er galt.
mvh Jens Peter
Avatar billede Ialocin Novice
13. januar 2011 - 13:36 #3
Hej Jens Peter

Mangler du så ikke: 
Sheets("Ark2"). foran "Range("A2:s1000"),Unique:="  ????


Med venlig hilsen, Nicolai
Avatar billede jpc1 Juniormester
13. januar 2011 - 13:49 #4
Hej Nicolai.
Det ændrer ikke noget med det samme jeg sætter ny kolonne ind i begge ark og ændre i koden henter den bare ikke data med over i ark2
Avatar billede Ialocin Novice
13. januar 2011 - 15:08 #5
Hej Jens Peter

Hvad gør det CriteriaRange:=Range("t1:t2")  ??

Eller kan du kort fortælle, hvad du i bund og grund vil have til at ske ?

Så vil jeg kigge på det senere i dag.

Med venlig hilsen, Nicolai
Avatar billede jpc1 Juniormester
13. januar 2011 - 15:15 #6
Hej Nicolai
Det er en kode som kabbak var så venlig at lave formig jeg har ikke så meget forstand på det men det CriteriaRange:=Range("t1:t2")  gør at der sætter i ark1 et tal som så også står i ark2 f.eks ark2 2  ark3  3 eller 4 så tager den alt det med over som der står det tal ud for og det virker rigtig godt bortset fra at jeg ikke kan sætte flere koloner ind
mvh JPC
Avatar billede kabbak Professor
13. januar 2011 - 18:30 #7
Husk at skrive kolonnernes overskrifter på modtagerarkene, de skal være 100% ens med overskrifterne på ark1.
hvis du ikke laver overskrifterne, kommer data ikke med.
Avatar billede jpc1 Juniormester
13. januar 2011 - 19:08 #8
Hej kabbak tak for det du er bare go det var problemet her er et svar Mvh JPC
Avatar billede kabbak Professor
13. januar 2011 - 19:37 #9
;-))
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

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