Avatar billede sorenzoo Juniormester
01. september 2017 - 09:38 Der er 4 kommentarer

Hente data fra ark til 2 linjer = mangler hver anden linie...

Jeg har et ark med 1000 linjer, men med så mange data at det ikke kan udskrives som en linje, og så vil jeg hente dataene til et nyt ark og hente på 2 linjer istedet, og jeg henter bare felterne sådan her: =('Ark2'!D4) og den henter fint data i mit ark på 2 linjer, men jeg får kun hver anden linje med fra arket fordi jeg ligesom overskriver den, så jeg ender med et rigtig fint ark men stadig kun med 1000 linjer, så den har kun hver anden kunde med over. Hvordan dælen fixer jeg lige det.?

Mange tak igen!
Avatar billede finb Ekspert
01. september 2017 - 10:38 #1
ide: array:
targetRow(1) = left(Raw(1);int(LEN/2))
targetRow(2) = right(Raw(1);LEN(Raw(1)-int(LEN/2))
-men måske har du mere gavn af en database ?
Avatar billede finb Ekspert
02. september 2017 - 11:22 #2
Avatar billede Mads32 Ekspert
02. september 2017 - 23:24 #3
Hej sorenzoo

Jeg har lavet et lille eksempel med 10 linjer og data i 20 celler i hver linje.
Der kopieres10 celler til hver linje.

Makroer er lavet med exel optagefunktion, og derefter indsat "For  Next" funktion.

Vedlagt link

https://www.dropbox.com/s/yd4d95ls0kbwiyw/Kopi%20af%20data%20fra%201%20linje%20til%202%20linjer%20p%C3%A5%20andet%20ark_C.xlsm?dl=0
Avatar billede Jan Hansen Ekspert
03. september 2017 - 09:42 #4
Prøv om noget i denne retning kan bruges



Dim wsData As Worksheet, wsSamlet As Worksheet
Dim rData_1 As Range, rData_2 As Range, rSamlet As Range
Dim lCount_1 As Long

Sub Samlet_makro2()
    Set wsData = Sheets(1) 'sætte sheetsVariable i () kan stå ark-nr. eller Navn
    Set wsSamlet = Sheets(2)
    Set rSamlet = Range(wsSamlet.Cells(1, 1), wsSamlet.Cells(1, 10)) ' sætter RangeVariablen til de 10 første kolonner i række 1
    For lCount_1 = 1 To wsData.UsedRange.Rows.Count  ' arbejder sig ned gennem arket
        Set rData_1 = Range(wsData.Cells(lCount_1, 1), wsData.Cells(lCount_1, 10)) ' første halvdel af rækken
        Set rData_2 = Range(wsData.Cells(lCount_1, 11), wsData.Cells(lCount_1, 20)) ' anden halvdel
        ' ------ kopier data over --------
        rSamlet.Value = rData_1.Value
        Set rSamlet = rSamlet.Offset(1, 0) ' flytter RangeVariablen en række ned
        rSamlet.Value = rData_2.Value
        Set rSamlet = rSamlet.Offset(1, 0)
        ' --------------------------------
    Next iCount_1
End Sub

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