Geir Willy Haugen Skrevet 8. oktober 2013 Del Skrevet 8. oktober 2013 Jeg har en del informasjon i flere Excel-dokumenter jeg lurer på om det finnes en relativt enkel måte å hente ut. Problemet er at all informasjon ligger i en kolonne, og at informasjonen opptrer usystematisk nedover i kolonnen. Dokumentet består av flere bolker nedover, hvor det først kommer en tittel, og informasjon videre nedover, linje for linje. I første bolk er det en dato i celle A4 og A6. I neste bolk er tilsvarende datoer i A56 og A58. Dessverre er det ut i dokumentet ikke like mange linjer mellom disse datoene opptrer. Det som er likt er at det i cellen før den første datoen står "Dok.dato:", og i cellen før den andre "Jour.dato:". Kan jeg bruke disse cellene som markør til å hente ut datoen fra cellen under? Jeg er forberedt på å gjøre dette "halvmanuelt", og behandle hvert dokument for seg selv. Lenke til kommentar
Harald Staff Skrevet 8. oktober 2013 Del Skrevet 8. oktober 2013 Er det noenlunde regelmessighet under hvert datosett? I så fall er det gjort på få minutter å skrive en makro som gjør om dette til linjevis informasjon. Det ville hjelpe veldig å se dataene. Kan du nappe ut 3-4-500 linjer i en excelfil og sende meg i personlig melding? Masker eventuelt sensibelt materiale, men ikke slett rader, mønsteret er viktig her. Beste hilsen Harald 1 Lenke til kommentar
Geir Willy Haugen Skrevet 8. oktober 2013 Forfatter Del Skrevet 8. oktober 2013 Takk for innspillet, Harald. Det er lite krutt i disse filene, så jeg legger ved en som eksempel. Originalinnholdet er i kolonne A, og resten er mitt forsøk på å ta ut de dataene som er interessante. Jeg kan jo nå kopiere kolonne B-F over i alle de andre arkene, men har jeg da gått en omvei? Kan dette gjøres på en lettere måte? Test.xlsx Lenke til kommentar
Harald Staff Skrevet 8. oktober 2013 Del Skrevet 8. oktober 2013 (endret) Ok, dette ser ut til å funke. Opprett en makroaktivert arbeidsbok (xlsm). Åpne Visual Basic-editoren (Alt F11 eller liknende). Meny Insert > Module. Lim inn følgende kode: Sub ReadTheStuff() Dim R As Long, RL As Long, C As Long, L As Long Dim Src As Worksheet, Trg As Worksheet Set Src = ActiveSheet RL = Src.Cells(Src.Rows.Count, 1).End(xlUp).Row Workbooks.Add (1) DoEvents Set Trg = ActiveSheet L = 1 For R = 1 To RL If Src.Cells(R + 2, 1).Value = "Dok.dato:" Then L = L + 1 C = 0 End If C = C + 1 Trg.Cells(L, C).Value = Src.Cells(R, 1).Value Next End Sub Lagre. Returner til Excel. Åpne en av kildefilene dine, behold den makroaktiverte åpen. Kjør makroen (f.eks fra fanen View eller Developer, det er litt forskjellig mht versjon og oppsett, eller via play-knappen i editoren) HTH. Beste hilsen Harald Endret 8. oktober 2013 av Harald Staff 1 Lenke til kommentar
Geir Willy Haugen Skrevet 9. oktober 2013 Forfatter Del Skrevet 9. oktober 2013 Det må jeg si, Harald, dette var lekkert. Takk for hjelpen! Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå