Avatar billede Slettet bruger
03. august 2010 - 22:37 Der er 4 kommentarer og
1 løsning

Importere data fra ét Excel-ark til at andet

Jeg har 200 excel dokumenter med webstatistik. Hvert ark indeholder et felt der hedder "Pages" - herunder listes x antal kommaseparerede data. Fx. således:

Pages
1,http://www.dr.dk/sitemap,3.654.616
2,http://www.dr.dk/p3,82.826

Udfordringen er at jeg skal importere data til et andet ark - uden at kende placeringen. "Pages" kan ligge i A6544 eller et helt andet sted i A-tabellen.

Mit dataark skal altså lave en søgning i et andet dokument efter "pages" og herefter importere ex linie 1, linie 2 osv.

Jeg har midlertidigt løst problemet ved at placere "pages" på samme sted i alle mine dokumenter, men det tager 100 år og en musearm..

På forhånd 1000 tak for hjælpen!
Avatar billede ptj_11 Forsker
04. august 2010 - 02:10 #1
Der er et problemmed dine links. Det ene kan ikke vise siden, og det andet viser bare en underside på dr.dk.
Prøv igen.
/ptj_11
Avatar billede Slettet bruger
04. august 2010 - 08:04 #2
Linksene er bare noget tilfældig text.
Avatar billede ptj_11 Forsker
04. august 2010 - 12:47 #3
Jeg tror, at du skal flytte dit spørgsmål over i kategorien "Scripts". Der er nok større chance for et brugbart svar.
Det du skla bruge, er som jeg ser det, et vbs-script, der søger rækker og kolonner igennem for forekomsten af ordet "Pages", og derefter importere bestemte værdier fra specifikke celler.
/ptj_11
Avatar billede agatheb Nybegynder
04. august 2010 - 17:07 #4
Hvis du indsaetter en module i VBA med foelgende kode skulle det nok virke...

Sub GetPages()
Dim The_address As Object, R1 As Integer, R As Long, Rw As Long, C As Integer, Col As Integer, The_link As String
Dim oWs_Destination As Object

Set oWs_Destination = ThisWorkbook.Sheets(1)    ' Name of your destination book and sheet
Col = 1                                        ' Number of column in your destination book.

' Find the "pages" string
With Worksheets(2).Range("a1:z500")
    Set The_address = .Find("pages")
    If Not The_address Is Nothing Then
        R1 = The_address.Row
        C = The_address.Column
    End If
   
    ' Check if you have an address
   
    If R1 = 0 Or C = 0 Then
        MsgBox "Pages not found", vbOKOnly
        Exit Sub
    Else
        ' Loop from the following row until no value is found
        For R = R1 + 1 To Worksheets(2).UsedRange.Rows.Count
            The_link = .Cells(R, C).Value
            ' Link found then write to destination sheet
            If The_link <> "" Then
                With oWs_Destination
                    Rw = Rw + 1
                    .Cells(Rw, Col).Value = The_link
                End With
            End If
        Next
    End If
End With

End Sub
Avatar billede agatheb Nybegynder
05. august 2010 - 09:03 #5
Nicolai,

Jeg glemte lige at du har flere boeger og flere ark. Foelgende kode leder igennem alt. Hvis de skal aabne fra VBA kan du tilfoeje Dir funktionen.

For Each oWb In Workbooks
    For Each oWs In oWb.Sheets
        With oWb.oWs
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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