Gå til innhold

[Løst] VB, excel med mye data


Anbefalte innlegg

Hei.

 

Nå har jeg googla, prøvd å endre VB koder jeg har funnet og søkt på forum rundt omkring. Men nå kryper jeg til korset og må høre om noen kan hjelpe meg.

 

Jeg skriver en masteroppgave og har fått en haug med excel filer, en for hver dag i 3 år. Hver excel fil inneholder informasjon om forskjellige systemer. Jeg ser da på et av disse systemene.

 

Det første jeg da skulle ønske meg er å kunne fått kopiert disse cellene for hver dag inn i et excel ark. Det handler da om A til G og 203 til 221. Slik at jeg får noe sånt:

 

System B 13.04.11

3 T2 Feilmelding

System B 14.04.11

8 T2 Feilmelding

 

Hvor tallene er antall minutter ute av drift, T2 er en komponent og feilmelding er årsaken til stans.

 

Det andre jeg har problemer med er at jeg skal ha tiden mellom hver slik sak. Nå er et døgn i dette systemet 19 timer, så for eksemplet jeg nettopp skrev ville jeg ha noe sånt:

T2

9,5

19

 

Altså fra tid 0, 13.04 går det 9,5 timer til første feil, og 19 timer til neste. Det er så klart flere komponenter og det er noe av grunnen til at jeg sliter.

Lenke til kommentar
Videoannonse
Annonse

Det er litt sammensatt og litt utydelig hva du spør om, eller du spør vel egentlig ikke i det hele tatt. Men som en start, her

http://www.contextures.com/xlfaqMac.html#LoopBooks

er kode som åpner alle xls-filene i en mappe en og en for å utføre noe med dem. Bytt ut MsgBox-linjen med kode som henter og skriver de verdiene du ønsker.

 

Beste hilsen Harald

 

Linken var veldig bra, har prøvd ut litt med denne men har enda ikke fått helt til. Kan jo forklare problem 1 først.

 

Jeg vil kopiere noen celler og rader (sammenhengende) fra mange excelark til et ark. Det er da snakk om celle A150:G171.

 

Er langt fra i mål, jeg får en syntax error på "copyrange()", men har kommet fram til følgende:

 

Sub AllFolderFiles()

Dim wb As Workbook

Dim TheFile As String

Dim MyPath As String

MyPath = "C:\temp"

ChDir MyPath

TheFile = Dir("*.xls")

Do While TheFile <> ""

Set wb = Workbooks.Open(MyPath & "\" & TheFile)

MsgBox wb.FullName

wb.Close

TheFile = Dir

CopyRange()

Range("A200:G221").Copy Destination:=ActiveCell

Loop

End Sub

Lenke til kommentar

Ja nå er du litt ute og sykler ;) . WB er åpen bare mellom "Open" og "Close". Og så adresserer du ikke arkene dine og flytter ikke destinasjonen nedover.Se om dette får deg på sporet:

 

Sub AllFolderFiles()

 

Dim wb As Workbook

 

Dim TheFile As String

 

Dim MyPath As String

 

Dim R As Long

 

MyPath = "C:\temp"

 

ChDir MyPath

 

TheFile = Dir("*.xls")

 

Do While TheFile <> ""

 

Set wb = Workbooks.Open(MyPath & "\" & TheFile)

 

R = R + 2

 

wb.Sheets(1).Range("A200:G221").Copy Destination:=ThisWorkbook.Sheets(1).Cells(R, 1)

 

DoEvents

 

wb.Close

 

TheFile = Dir

 

Loop

 

End Sub

Lenke til kommentar

Ja nå er du litt ute og sykler ;) . WB er åpen bare mellom "Open" og "Close". Og så adresserer du ikke arkene dine og flytter ikke destinasjonen nedover.Se om dette får deg på sporet:

 

Sub AllFolderFiles()

 

Dim wb As Workbook

 

Dim TheFile As String

 

Dim MyPath As String

 

Dim R As Long

 

MyPath = "C:\temp"

 

ChDir MyPath

 

TheFile = Dir("*.xls")

 

Do While TheFile <> ""

 

Set wb = Workbooks.Open(MyPath & "\" & TheFile)

 

R = R + 2

 

wb.Sheets(1).Range("A200:G221").Copy Destination:=ThisWorkbook.Sheets(1).Cells(R, 1)

 

DoEvents

 

wb.Close

 

TheFile = Dir

 

Loop

 

End Sub

 

 

Takk takk! Med god hjelp av deg og litt finpussing fikk jeg det til! Takk!

 

Videre til neste problem... ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...