Avatar billede egernet Nybegynder
24. marts 2010 - 18:55 Der er 10 kommentarer

Hjælp til excel

Hej med jer,

Jeg kunne godt tænke mig hjælp nedenstående tabel. Som i kan se har jeg tre intervaller, der hver har en startdato og en slutdato.
Frekvens angiver hvor mange gange det pågældende interval skal gentages.
Dag. iml angiver hvor mange dage imellem gentagelserne der skal være.
Jeg vil gerne lave tabellen fuldendt, hvor man kan se alle intervallerne med deres gentagelser og de skal ligge i kronologisk orden.
Interval 1 skal altså gentages igen efter 5 dage og det skal det 5 gange, så næste gang det skal gentages er dets start dato 10-04-2010 og slutdato er = varighed af interval 1 (05-04-2010 -27-03-2010). Det skal have nummer '4'.


    Navn      Start            slut      frekvens  dag iml. 
1    xxx    27-03-2010    05-04-2010    5    5
2    yyy    29-03-2010    15-04-2010    4    2
3    zzz    30-03-2010    25-04-2010    6    3

Er der en der kan hjælpe med dette?


På forhånd tak :-)
Avatar billede supertekst Ekspert
24. marts 2010 - 22:46 #1
Vil der være forskelligt antal "udgangsrækker" - eller?
Ovenfor er der 3.

Vil kunne realiseres via VBA
Avatar billede egernet Nybegynder
24. marts 2010 - 22:57 #2
Ja der kan være feks. 77 og så vil der måske senere blive tilføjet én mere. Men hvis det komplicerer tingene, kan jeg som udgangspunkt godt klare mig med et svar til et fast antal rækker :-)
Avatar billede supertekst Ekspert
25. marts 2010 - 09:25 #3
Nej det er ok - jeg prøver snarest at skrue et eksempel sammen..
Avatar billede egernet Nybegynder
25. marts 2010 - 10:03 #4
Det lyder super godt.

Håber at du er med på at når man har regnet frekvensen ud for feks. interval 1, som jo skal gentages 5 gange, så kommer der 5 rækker mere af den og de skal ligge sig i nummer orden og tage hele rækken med.

Er meget spændt på at høre fra dig :-)
Avatar billede supertekst Ekspert
25. marts 2010 - 14:05 #5
Ser det rimeligt ud?

Navn    Start            Slut        Frekvens Dag iml.
xxx    27-03-2010    05-04-2010    5    5
yyy    29-03-2010    15-04-2010    4    2
zzz    30-03-2010    25-04-2010    6    3
xxx    10-04-2010    19-04-2010       
xxx    24-04-2010    03-05-2010       
xxx    08-05-2010    17-05-2010       
xxx    22-05-2010    31-05-2010       
xxx    05-06-2010    14-06-2010       
yyy    17-04-2010    04-05-2010       
yyy    06-05-2010    23-05-2010       
yyy    25-05-2010    11-06-2010       
yyy    13-06-2010    30-06-2010       
zzz    28-04-2010    24-05-2010       
zzz    27-05-2010    22-06-2010       
zzz    25-06-2010    21-07-2010       
zzz    24-07-2010    19-08-2010
zzz    22-08-2010    17-09-2010
zzz    20-09-2010    16-10-2010
Avatar billede egernet Nybegynder
25. marts 2010 - 14:27 #6
Ja det gør det :-)
Avatar billede supertekst Ekspert
25. marts 2010 - 14:35 #7
VBA-koden lægges under relevante ark
------------------------------------

Dim antalRækker As Integer, ræk As Integer, række As String, fRæk As Integer
Dim navn As String, stDato As Date, slDato As Date, frekvens As Byte, dagIml As Byte, varighed As Byte
Dim nyStart As Date, nySlut As Date, f As Byte
Public Sub opbygFrekvenser()

Rem beregn antalrækker ved opstart
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
   
    fRæk = antalRækker + 1
   
Rem hent udgangsrækker
    For ræk = 2 To antalRækker
        række = ræk
        navn = Range("A" & række)
        stDato = Range("B" & række)
        slDato = Range("C" & række)
        frekvens = Range("D" & række)
        dagIml = Range("E" & række)
        varighed = DateDiff("d", stDato, slDato, 2)
       
        For f = 1 To frekvens
            stDato = DateAdd("d", dagIml, slDato)
            slDato = DateAdd("d", varighed, stDato)
           
            Range("A" & CStr(fRæk)) = navn
            Range("B" & CStr(fRæk)) = stDato
            Range("C" & CStr(fRæk)) = slDato
            fRæk = fRæk + 1
        Next f
    Next ræk
End Sub
Avatar billede egernet Nybegynder
26. marts 2010 - 09:00 #8
Hej med dig,

Tak for din kode. Jeg har lagt koden ind under det relavante ark, men hvad skal jeg gøre for at aktivere den. Klikkede på 'run', men den kom med en 'run time error 13'.

Mit ark skal udbygges med mange kolloner (Regner med 25 ialt) og jeg kan se på koden at der er taget højde for kolonne A,B,C,D,E. Kan se hvad du gør for hver kollone, men ændrer det sig andre steder. De nye kolloner, vil blot være et navn med noget tekst, så det er ikke noget der har betyding, andet end at jeg skal have hele rækken med alle kolonner med når frekvensen er regnet ud.

Mange hilsner
Avatar billede supertekst Ekspert
26. marts 2010 - 09:17 #9
For at aktivere koden fra Excel - Alt+F8 - Afspil makroen "OpbygFrekvenser"

Flere kolonner skulle ikke være et problem, når du kan se princippet - men det kan nu evt. gøres på en "lettere måde". Skal prøve at komme med et eksempel.

Prøv nårdu kører test og fejl opstår - så aktiver knappen Debug og tag et skærm-print & send det til mig (@-adr. under min pro-fil) - & evt. selve filen.
Avatar billede supertekst Ekspert
26. marts 2010 - 13:43 #10
Foretager mig ikke yderligere før jeg hører nyt...
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

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