Kopiering af data fra .csv fil til Excel tabel

Anonym
2016-04-08T09:31:04+00:00

Hej Alle

Jeg er forholdsvis ny, når det drejer sig om at kode Excel makroer i VBA, men har dog lidt kodningserfaring fra tidligere.

Jeg sidder med et konkret problem, hvor jeg har behov for at kopierer data fra en CSV fil (der er eksporteret fra en SCCM web rapport, til en tabel i regneark.

Jeg skal kopiere 5 kolonner fra CSV filen, ind i de første 5 rækker i den eksisterende tabel.

Jeg benytter RANGE.COPY, og vælger kildedata som Range("A:E"), og vil så gerne placerer det i den anden række i tabellen (lige under overskriften, Range("A2")), men når jeg forsøger at køre makroen for jeg en fejl:

Run-time error '1004': Du kan ikke indsætte dette her, fordi Kopiér-området og indsætningsområdet ikke har samme størrelse.

Marker én celle i indsætningsområdet eller et område med samme størrelse, og prøv at sætte ind igen."

Jeg mener jo faktisk at jeg forsøger at sætte det ind i én celle (A2), men det virker bare ikke.. Er det overhoved muligt at benytte Range.Copy på denne måde, eller kan jeg forsøge at løse det på en anden måde? Fx med Selection.PasteSpecial?

Håber at der er en af jer der kan hjælpe mig

Herunder ses VBA koden i makroen, som jeg forsøger at afvikle:

-------CODE BEGIN------

Sub Copy_export_data()

'

' Definer workbooks, worksheets og ranges som variabler

'  Definer workbooks

    Dim wb_source

    Dim wb_dist

'   

'  Definer worksheets

    Dim ws_source

    Dim ws_dist

'  

'  Definer ranges

    Dim rng_source As Range

    Dim rng_dist As Range

'  

' Tildel værdier til definderede variabler

'  Tildel værdier til workbooks

    Set wb_source = Application.Workbooks("Computers with a specific product - Filter.csv")

    Set wb_dist = Application.Workbooks("Brugere med softwareprodukt1.xlsm")

'  

'  Tildel værdier til worksheets

    Set ws_source = wb_source.Worksheets("Computers with a specific produ")

    Set ws_dist = wb_dist.Worksheets("Licensoversigt")

'  

'  Tildel værdier til ranges

    Set rng_source = ws_source.Range("A:E")

    Set rng_dist = ws_dist.Range("A2")

'  

' Kopier range fra det ene regneark til det andet

    rng_source.Copy rng_dist

'

End Sub

------CODE END------

Her kan I finde filerne der benyttes i dette eksempel:

Source file - Computers with a specific product - Filter.csv

Distination file - Brugere med softwareprodukt1.xlsm

Makroen skulle gerne ligge i Brugere med softwareprodukt1.xlsm

Microsoft 365 og Office | Excel | Til hjemmet | Windows

Låst spørgsmål. Dette spørgsmål blev migreret fra Microsoft Support-community'et. Du kan stemme om, hvorvidt det er nyttigt, men du kan ikke tilføje kommentarer eller svar eller følge spørgsmålet.

0 kommentarer Ingen kommentarer
Svar accepteret af spørgsmålets forfatter
Anonym
2016-04-10T08:59:23+00:00

Det lykkedes med at finde en løsning på dette problem, der opstår fordi området jeg forsøger at sætte ind er for stort. Ved at begrænse området, får jeg ikke længere fejlen.

Jeg har valgt at begrænse området, på denne måde:

------CODE BEGIN------

'  Tildel værdier til ranges

    Set rng_source = ws_source.Range("A1:E9999")

    Set rng_dist = ws_dist.Range("A2")

------CODE END------

Var dette svar nyttigt?

0 kommentarer Ingen kommentarer

2 ekstra svar

Sortér efter: Meget nyttig
  1. Anonym
    2016-04-11T10:57:40+00:00

    Hej Søren!

    Det er godt at se at du fandt løsningen til dit problem.

    Hvis du har andre spørgsmål så er du velkommen til at skrive ind igen, og så skal vi nok prøve at hjælpe eller pege dig i den rigtige retning.

    Mange hilsner,

    Ceccilia

    Var dette svar nyttigt?

    0 kommentarer Ingen kommentarer
  2. Anonym
    2016-04-09T14:34:21+00:00

    Hej Søren!

    Jeg kan se at du har spørgsmål til makroer i Excel.

    Det her er desværre ikke her hvor du kan få den bedste support med lige det emne, men jeg kan pege dig over til det rigtige sted.

    Du kan gå hertil for råd omkring makroer. Jeg vil dog gøre opmærksom på at siden er på engelsk.

    Hvis du i fremtiden har andre spørgsmål om Excel, eller noget andet Microsoft relateret, så er du velkommen til at skrive ind igen, og så skal vi nok gøre alt for at hjælpe eller på dig peget i den rigtige retning.

    Mange hilsner,

    Ceccilia

    Var dette svar nyttigt?

    0 kommentarer Ingen kommentarer