Gå til innhold

MS Excel, på tvers av ark


Prosit

Anbefalte innlegg

Jeg er salgsleder på en bedrift som driver telefonsalg, hvor jeg er ansvarlig for å føre alle salg, noe jeg utfører ved hjelp av Excel, slik at jeg kjapt også får oversikt over provisjoner og lignende. Slik det er nå, har jeg en regnearkfil per arbeidsdag, og sender dette inn til høyere opp i ledelsen, men det jeg ønsker, er følgende;

 

Å ha en regnearkfil per måned, slik at jeg kan ha de ulike arbeidsdagene som ark inne i Januarfilen, for eksempel.

Dermed trenger jeg å kunne hente ut info fra alle arkene i fila som er arbeidsdager, og summere opp disse i et

siste ark i samme fil, hvor da lønnsutbetaling og lignende skal kalkuleres.

 

Så spørsmål er kort og greit; hvordan hente ut informasjon fra alle ark, untatt ett siste, i samme fil? Det må være enkelt å opprette nye ark inne i "januar"filen også.

 

Eventuelle andre forslag til hvordan jeg kan gjøre dette, tas imot med åpne armer!

På forhånd; takk!

Lenke til kommentar
Videoannonse
Annonse

Det enkleste er en liten makro som åpner fila og kopierer fra alle enkeltarkene til under hverandre i et nytt ark. Forhåpentligvis ligger dataene dine i listeform (all informasjon pr enhet på en og bare en rad), der bør i så fall også ligge dato på hver linje.

 

Jeg trenger mye mer detaljer for å skrive et utkast.

 

HTH. Beste hilsen Harald

Lenke til kommentar

Takk for svar! Ja, en makro kan nok være tingen. Riktignok har jeg absolutt ingen erfaring med makroer fra før, men dog mye erfaring fra andre webbaserte programmeringsspråk. Løsningen din virker veldig bra, da det var dette jeg helst var ute etter, nemlig et eget ark for månedsrapport, som henter data i fra alle andre enkeltfilene (som inneholder rapport for de enkelte dagene). Disse er slik det er nå, navngitt på følgende måte; 01.01.2008, 05.01.2008, 12.01.2008 osv.

 

Og informasjonen ligger radvis nedover ja, og er bygd opp på en sånn måte som denne nedenfor (forenklet);

Navn Omsetn Timer

Ola N 3300kr 4,5

Kari 2300kr 4,5

Sum = 5600kr

 

Så det jeg er ute etter da, er å kunne summere, og samle informasjon fra alle filene, og

samle disse i en siste fil som skal være rapport for den enkelte måned. Om du kunne være

behjelpelig med å styre meg inn på riktig vei, hadde jeg satt pris på det!

 

I tilfelle jeg uttalte meg uklart, legger jeg ved et skjermskudd av hvordan jeg gjør det nå. Dette er et av mange flere ark fra januar måned. Er nødt til å sensurere informasjonen i henhold til kontrakten min, men håper det ikke gjør noe.

 

143733.jpeg

Endret av ilpostino
Lenke til kommentar

Dato er alltid i A4. Antallet rader er i utgangspunktet alltid åtte, siden det er åtte plasser på kontoret. Riktignok hender det at det er ledige stillinger, så det hender at en eller flere rader blir fyllt ut med "Ledig plass" e.l, eller bare fjernet, slik at det er 7 rader. For min del fungerer det vel så greit å ha 8 rader konstant, om det gjør arbeidet enklere, eventuelt bruke andre metoden, med varierende antall rader, om DET gjør det enklere.

Lenke til kommentar

Opprett en ny helt tom fil. Den lagrer du som "makroaktivert" xlsm i Excel 2007, eller som vanlig xls i eldre format.

Åpne VB-editoren (Alt F11 eller tilsvarende). Sett inn en modul via Insert - Module.

Lim inn følgende:

 

Sub FilSammendrag()

Dim sFil As Variant

Dim oBook As Workbook

Dim oSheet As Worksheet, MySheet As Worksheet

Dim R As Long, C As Long, I As Long

Dim MyR As Long

Dim Dato As Date

'On Error Resume Next

sFil = Application.GetOpenFilename("Arbeidsbøker (*.xls*), *.xls*", _

Title:="Velg månedsfil:")

If sFil = False Then Exit Sub

If Dir(sFil) <> "" Then

Workbooks.Add (1)

DoEvents

Set MySheet = ActiveSheet

MyR = 1

DoEvents

Set oBook = Workbooks.Open(sFil)

DoEvents

For I = 1 To oBook.Worksheets.Count - 1

Set oSheet = oBook.Worksheets(I)

Dato = oSheet.Cells(4, 1).Value

For R = 6 To 13

MyR = MyR + 1

MySheet.Cells(MyR, 1).Value = Dato

For C = 1 To 15

MySheet.Cells(MyR, C + 1).Value = _

oSheet.Cells(R, C).Value

Next

Next

Next

oBook.Saved = True

oBook.Close (False)

End If

End Sub

 

 

Returner til Excel. Sett inn et tegneobjekt (tekstboks, rektangel, bilde e.l.). Høyreklikk den, velg "Tilordne makro"/"Assign macro", velg FilSammendrag og OK.

Nå klikker du på denne for å lage sammendraget ditt.

 

HTH. Beste hilsen Harald

Lenke til kommentar

Hjertelig takk!

 

Prøvde det nå, etter dine instrukser, men ser ikke hvordan jeg kan få laget et sammendrag

av alle enkeltfilene? (dagsrapporter?) Gikk bra å hente ut info fra ett ark, og legge det inn i ett nytt,

som skjedde av seg selv, foruten en feilmelding på linjen "Dato = oSheet.Cells(4, 1).Value".

 

Igjen, tusen takk for at du tar deg tid til å hjelpe meg!

 

Studerte koden litt grundigere nå, og vil gjette meg til at du forstod det slik at dagsrapportene lå inne som arbeidsARK i EN excelfil? stemmer det? Isåfall er det slik at dagsrapportene ligger i separate filer, en for hver dag, siden de sendes fortløpende på epost til andre i ledelsen, men jeg vet ikke om det kan omskrives på en lett måte?

Endret av ilpostino
Lenke til kommentar

Riktig antatt. Du skrev "Å ha en regnearkfil per måned, slik at jeg kan ha de ulike arbeidsdagene som ark inne i Januarfilen (...) hvordan hente ut informasjon fra alle ark, untatt ett siste, i samme fil? "

Hvis du skal manuelt operere med en og en fil, er like manuell copy-paste vel så kjapt ?

 

Moderator; jeg vet ikke hvorfor det blir dobbeltposter i denne tråden. Tror ikke vi trykker så galt egentlig.

 

HTH. Beste hilsen Harald

Lenke til kommentar

Takk for hurtige svar! da jeg mente alle ark, mente jeg alle filene, beklager så mye at jeg uttalte meg så dårlig. Copy/paste er ikke vel så kjapt, for hensikten med det hele er å kunne summere opp alle salgene til de enkelte salgskonsulentene, og det gjør ikke funksjonen du skrev heller, den listet opp salgene nedover, med egne deler for hver dato.

 

Om du ikke har tid til å hjelpe meg, har jeg full forståelse for det, og beklager så mye igjen, for at jeg uttrykte meg så dårlig.

Lenke til kommentar

Ja, målet er å liste alt under hverandre rad for rad, det er det som er "data". Derfra kan man summere, gruppere og analysere i alle dimensjoner, best via en Pivot-tabell, men eventuelt også via finterfunksjoner og betinget summering.

 

Jeg er sykt travel i øyeblikket. Foreslår at du omformulerer og gir litt fler detaljer (filnavn, plassering m.m.) i en ny tråd, det er helt sikkert hjelp å få.

 

Beste hilsen Harald

Lenke til kommentar

Jeg skjønner. Beklager bryderiet, men tusen takk for all hjelp, nok en gang!

 

Filnavnene er som nevnt i min post nr.2, oppbygd slik: dd.mm.åååå,

med ledende nuller, fks 09.12.2008, 19.09.2008 osv. Får håpe det

er noen exceleksperter her som kan svare i tråden. På forhånd takk

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...