20. april 2006 - 21:00Der er
21 kommentarer og 1 løsning
automatisk dato for en hel måned.
Hej allesammen. Jeg håber nogen kan hjæle mig med nedstående. Jeg har et regneark hvor der i kolonne C-D-E-F står 01.04 derefter i kolonne G-H-I-J står den 03.04,O.S.V,jeg ville høre om der var en måde, hvorpå jeg ikke skulle sidde og indtaste alle disse datoer i regnearket selv.Ugen har til mit brug 6 dage. Hvis vi tager MAJ måned starter den med Mandag den 01.05. Håber jeg har udtrykt mig klart nok. M.V.H. Torben
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
hej pezz. Jeg fandt ud af det med datoen og jeg har lige prøvet et lille eksp.,hvor jeg formateret 8 kolonner til dato og derefter i den første kolonne skrev den 01-04 og derefter med venstre museknap flyttede til højre, men ingen ting skete,hvad gør jeg galt. torben
Hej mvhansen. Det virker og det virker ikke. Jeg har 4 kolonner med den samme dato som jeg skrev d.v.s. 4 gange den 01-04 og disse 4 skal så blive til 4 gange den 02-04 o.s.v. Det kan jeg ikke på din måde og yderligere skal der kun være 6 dage i en uge altså ikke søndag. Torben
prøv at maker den første celle hvor der står 01-04 når du har makert den så træk til de celler du vil have 01-04 i når de er makeret så trykker du Ctrl C Ctrl V
unskyld når du har makert 01-04 så trykker du Ctrl C og så trækker du til de celler du vil have 01-04 til at stå i når de er makert så trykker du Ctrl V
Hvis du indsætter din første mandag i en celle (A1 f.eks) og markerer cellen kan du køre denne makro. Indsættes i et arkmodul. Den er primitiv, men funker efter hensigten
Sub test() Dim c c = ActiveCell For b = 0 To 4 '4 dækker en måned, kan tilrettes dog til højst 10 'hvis kolonne A er valgt For a = 0 To 5 For i = 0 To 3 Selection.Offset(, i) = c Next c = c + 1 Selection.Offset(, 4).Activate Next c = c + 1 Next Range("a1").Activate End Sub
Tak til mvhansen og kabbak det løser ikke problemet med kun 6 dage i ugen. Til mrjh:du har fat i det rigtige tror jeg ud fra din tekst,men jeg har overhovet ikke forstand på makro,hvad mener du med ARKMODUL og skal jeg skrive den makro nøjagtig som den står og hvor skal jeg stå når jeg skrive denne(i A1 og hvad mener du med at makerer cellen)
Hej torbenlind Du opener xl under funktioner vælger du makro også vælger du visual Basic Editor når du har opnet visual Basic Editor så højer klikker du på VBAProject da vælger du insert modul så maker du det mrjh har skrevet
Sub test() Dim c c = ActiveCell For b = 0 To 4 '4 dækker en måned, kan tilrettes dog til højst 10 'hvis kolonne A er valgt For a = 0 To 5 For i = 0 To 3 Selection.Offset(, i) = c Next c = c + 1 Selection.Offset(, 4).Activate Next c = c + 1 Next Range("a1").Activate End Sub
og kuper det ind så lukker du for visual Basic Editor Så skriver du 01-05-06 i celle A1 lad den være makert så går du op i funktioner igen så vælger du makro også makroer der skulle gerne være en der heder test den maker du og så trykker du på afspil
Det tror jeg du gjrorde mvhansen :-) Alternativt kan du højreklikke på arkfanen, vis programkode og indsætte den der. afspil herefter makro under menuen funktion som mvhansen skriver.
Hej mrjh og mvhansen. mange tak for hjælpen,det virker,det er bare dejligt og hvor er det nemt når man ved noget om det. Smid et svar begge 2,så vil jeg se om jeg kan finde ud af at fordele point,ellers kommer jeg tilbage igen.
Jamen det var da godt at det kunne spare dig for noget tid :-). Du kan evt. tilknytte makroen en genvejstast, så du ikke behøver manuelt at afspille den hver gang du skal bruge den. Tryk Alt+F8, marker makroen test (hvis den stadigt hedder det) og klik på indstillinger. Her kan du i feltet efter ctrl skrive et bogstav. tryk OK og Luk makroen igen. Nu kan du afspille den ved at trykke ctrl+det valgte bogstav.
hej mrjh. Tak for endnu et godt råd. Jeg har lige et lille spørgsmål mere,det har ikke noget at gøre med dine point. Den 01-06-06 er en torsdag,så kan jeg vil ikke bruge den makro eller hvad,da den tæller 6 dage fra den første dag.? Jeg kan selvfølgelig indtaste de første 5 dage manuelt og derefter køre den makro.eller hvad?
Sub indsæt1() Application.ScreenUpdating = False f = ActiveCell.Value If Weekday(ActiveCell.Value, vbMonday) = 1 Then c = ActiveCell.Value Else c = ActiveCell.Value - Weekday(ActiveCell.Value, vbTuesday) End If For b = 0 To 4 '4 dækker en måned, kan tilrettes dog til højst 9 'hvis kolonne A er valgt For a = 0 To 5 For i = 0 To 3 Selection.Offset(, i) = c Next c = c + 1 Selection.Offset(, 4).Activate Next c = c + 1 Next Range("a1").Activate For i = 0 To 30 If ActiveCell < f Then Selection.Delete Shift:=xlToLeft End If Next Range("a1").Activate Application.ScreenUpdating = True End Sub
Denne er bedre. Stil dig i en celle i a kolonnen, skriv første dato i måneden og marker cellen. Kør så makroen. Så skulle den tage højde for hvilken dag det er og tilrette derefter.
Sub indsæt1() Application.ScreenUpdating = False f = ActiveCell.Value If Weekday(ActiveCell.Value, vbMonday) = 1 Then c = ActiveCell.Value Else c = ActiveCell.Value - Weekday(ActiveCell.Value, vbTuesday) End If For b = 0 To 4 '4 dækker en måned, kan tilrettes dog til højst 9 'hvis kolonne A er valgt For a = 0 To 5 For i = 0 To 3 Selection.Offset(, i) = c Next c = c + 1 Selection.Offset(, 4).Activate Next c = c + 1 Next Range("a" & ActiveCell.Row).Activate For i = 0 To 30 If ActiveCell < f Then Selection.Delete Shift:=xlToLeft End If Next Range("a1").Activate Application.ScreenUpdating = True End Sub
Hej mrjh. Du er super det virker som det skal. Denne sidste makro tager hvis jeg starter med den 01-06-06 slutter den dog med den 01-07-06 men det er til at leve med. Mange tak for en stor hjælp til mig,du for dine point som du har fortjent.
Synes godt om
Ny brugerNybegynder
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.