Vil der være forskelligt antal "udgangsrækker" - eller?
Ovenfor er der 3.
Vil kunne realiseres via VBA
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 :-)
Nej det er ok - jeg prøver snarest at skrue et eksempel sammen..
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 :-)
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
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
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
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.
Foretager mig ikke yderligere før jeg hører nyt...