Avatar billede mrkr Juniormester
10. september 2008 - 10:39 Der er 8 kommentarer og
1 løsning

Hente linier fra et andet ark

Jeg har et ark med ca. 10000 linier, som jeg gerne vil hente lidt data ud af.

Datene ligger i arket "2008"
I kolonne C står der et bonnr.
Det samme bonnr. optræder fra 1-10 gange i kolonne C.

Når jeg står i arket genudskriv, kunne jeg godt bruge en makro eller lignende der henter alle linier over i arket "genudskriv"
som har det nr. jeg taster ind i celle a1

Den må meget gerne starte med at indsætte linierne fra linie 5.

Jeg ved ikke om man evt. kunne bruge en formel, men tror det ikke.
Så jeg vil tro at en lille makro er den bedste løsning.
Avatar billede jih Nybegynder
10. september 2008 - 11:45 #1
vil du kopiere alle linjer over i genudskriv, eller kun de linjer du har markeret?

fx, hvis du har markeret række 10 i arket "genudskriv", skal du kopiere kolonne C fra række 10 i arket "2008" til "genudskriv" ?

hvis ikke, kan du uddybe lidt? :-)
Avatar billede mrkr Juniormester
10. september 2008 - 12:00 #2
Som udgangspunkt står jeg i celle a1.
Her vil jeg gerne indtaste et nr.
Dette nr. findes 1 til 10 gange i arket 2008, da der kan være flere linier pr. bon.
Der er ca. 10.000 linier i arket 2008.

Herefter skal en makro løbe arket 2008 igennem og finde alle linier som har det indtastede nr. i kolonne C og kopiere dem fra arket 2008 til genudskriv.
Den skal kopiere hele linien.

Den skal helst indsætte de kopierede linier i arket genudskriv fra linie 5 og nedefter.
Dette skyldes at jeg har andre informationer stående i linie 1-4 i dette ark.
Avatar billede kabbak Professor
10. september 2008 - 12:32 #3
Tag og kik på Data > Filter > Avanceret filter, den kan gøre det.
Avatar billede jih Nybegynder
10. september 2008 - 12:42 #4
hvor mange kolonner er der som skal kopieres? tilfældigt tal eller specifikt?
Avatar billede jih Nybegynder
10. september 2008 - 12:48 #5
fik ellers lavet det her lille eksempel - som sikkert kan gøres meget simplere:

Sub Kopier()
    Dim intI As Integer
   
    For intI = 5 To 10000
        If (ThisWorkbook.Sheets("2008").Cells.Range("C" & intI) = ThisWorkbook.Sheets("Genudskriv").Cells.Range("A1")) Then
            With ThisWorkbook.Sheets("Genudskriv").Cells
                .Range("A" & intI) = ThisWorkbook.Sheets("2008").Cells.Range("A" & intI)
                .Range("B" & intI) = ThisWorkbook.Sheets("2008").Cells.Range("B" & intI)
                .Range("C" & intI) = ThisWorkbook.Sheets("2008").Cells.Range("C" & intI)
            End With
        End If
    Next intI
End Sub

den kopierer 3 kolonner og tager fra række 5-10000.. kan modificeres og simplificeres, men i hele taget brugeligt.. hvis du har flere kolonner, kan du tilføje linjerne i samme stil og bare ændre kolonnebogstaverne til den der skal kopieres.. :-)
Avatar billede mrkr Juniormester
10. september 2008 - 13:07 #6
Ja, det er godt nok tæt på den gør som jeg gerne vil have den til, men..

Hvis den finder bonnr 15550 i linie 2000 i arket 2008, så indsætter den ligeledes linierne i linie 2000 i arket genudskriv.

Den skal helst indsættes linierne fra og med linie 5.
Næste linie 6.
Næste linie 7 osv.

Hvis den kan indsætte dem i hver anden linie er det helt perfekt.
Altså i linie 5, 7,9,11 osv. (i arket genudskriv)
Avatar billede jih Nybegynder
10. september 2008 - 13:12 #7
Sub Kopier()
    Dim intI As Integer
    Dim intJ As Integer
   
    intJ = 5
    Do Until (ThisWorkbook.Sheets("Genudskriv").Cells.Range("C" & intJ) = "")
        intJ = intJ + 2
    Loop
   
    For intI = 5 To 10000
        If (ThisWorkbook.Sheets("2008").Cells.Range("C" & intI) = ThisWorkbook.Sheets("Genudskriv").Cells.Range("A1")) Then
            With ThisWorkbook.Sheets("Genudskriv").Cells
                .Range("A" & intJ) = ThisWorkbook.Sheets("2008").Cells.Range("A" & intI)
                .Range("B" & intJ) = ThisWorkbook.Sheets("2008").Cells.Range("B" & intI)
                .Range("C" & intJ) = ThisWorkbook.Sheets("2008").Cells.Range("C" & intI)
            End With
            intJ = intJ + 2
        End If
    Next intI
End Sub
Avatar billede mrkr Juniormester
10. september 2008 - 13:40 #8
Fuldstændig som jeg havde i tankerne.
Tusind tak for hjælpen.

Har du et svar? Så har jeg points :-)
Avatar billede jih Nybegynder
10. september 2008 - 13:41 #9
det var så lidt :-)
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