Avatar billede igoogle Forsker
04. marts 2012 - 09:50 Der er 11 kommentarer og
1 løsning

Copy paste af 300000+ celler

Hej,

Jeg prøver mig ud i noget vba til at kopier og sætte ind ca 300.000+ celler.

Men excel er ikke glad for det, copy with undo problem. Nogen forslag til hvordan man fortæller excel i vba at den bare skal gøre det selvom det er en stor mængde data.
Avatar billede supertekst Ekspert
04. marts 2012 - 11:22 #1
Er cellerne i et samlet område?
Avatar billede igoogle Forsker
04. marts 2012 - 11:27 #2
ja
Avatar billede supertekst Ekspert
04. marts 2012 - 12:00 #3
Kunne du vise koden?
Avatar billede igoogle Forsker
04. marts 2012 - 16:00 #4
Kører en with activeworkbook call data bearbejdning fra this workbook

* Noget data bearbejdning *

Range("A1", "H1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
Selection.Copy
ActiveWorkbook.Close False
ThisWorkbook.Activate
Sheets("12 month").Select
Range("a1").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
ActiveSheet.Paste
Avatar billede supertekst Ekspert
04. marts 2012 - 16:11 #5
Tak - ser på det senere..
Avatar billede supertekst Ekspert
04. marts 2012 - 17:49 #6
Denne kode (anbragt under Ark1) kopiere 300.000 celler fra Ark1 --> arket 12 month:

Sub test()
    sidsterække = ActiveCell.SpecialCells(xlLastCell).Row
    Range("A1:H" & CStr(sidsterække)).Select
    Selection.Copy
   
    Sheets("12 month").Select
    ActiveSheet.Range("a1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub
Avatar billede kabbak Professor
04. marts 2012 - 18:28 #7
kort kode

Public Sub Test()
Range(Range("A1", "H1"), Range("A1", "H1").End(xlDown)).Copy ThisWorkbook.Sheets("12 month").Range("a1").End(xlDown).Offset(1, 0)
ActiveWorkbook.Close False
End Sub
Avatar billede igoogle Forsker
04. marts 2012 - 19:32 #8
kabbak.. din virkede ..

men tak for forsøget supertekst
Avatar billede igoogle Forsker
04. marts 2012 - 19:33 #9
Ups.. den virkede ikke den går i stå ved kopien som ved tidligere kode stump..
Avatar billede kabbak Professor
04. marts 2012 - 20:05 #10
prøv med Public Sub Test()
Dim Data As Variant
Data = Range(Range("A1", "H1"), Range("A1", "H1").End(xlDown))
ThisWorkbook.Sheets("12 month").Range("a1").End(xlDown).Offset(1, 0).Resize(UBound(Data, 1), UBound(Data, 2)) = Data
ActiveWorkbook.Close False

End Sub
Avatar billede igoogle Forsker
05. marts 2012 - 08:24 #11
Success .. :) ..

koden endte med at være
Dim Data As Variant
Data = Range(Range("A1", "H1"), Range("A1", "H1").End(xlDown))

ActiveWorkbook.Close False
ThisWorkbook.Sheets("12 month").Range("a1").End(xlDown).Offset(1, 0).Resize(UBound(Data, 1)

og så var jeg nød til at indsætte en dummy line efter 1 da det var første sæt data..

kabbak smider du et svar ..
Avatar billede kabbak Professor
05. marts 2012 - 18:14 #12
et svar ;-))
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

IT-JOB

Nextway Software A/S

Software Architect

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Netværksteknikere til design, drift og vedligehold ved Cyberdivisionen

Politiets Efterretningstjeneste

Fullstack softwareudvikler i PET

Operate Technology A/S

PHP-udvikler til Drupal