Print side | Luk vindue

Beregninger med datoer i tekstbokse

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=172
Udskrevet den: 05.Apr.2025 kl. 01:20


Emne: Beregninger med datoer i tekstbokse
Besked fra: peppe
Emne: Beregninger med datoer i tekstbokse
Posteringsdato: 28.Dec.2010 kl. 15:13
Jeg har lavet en brugerformular med to tekstbokse, hvor brugeren skal indtaste to datoer.
De to datoer søger programmet, så efter i en tabel (vha. lopslag), hvorefter jeg skal have returneret tre værdier for hver dato (i tre celler ved siden af)
Disse værdier skal Excel så regne videre med.
 
Problemet er at efter jeg har indsat det der står i tekstboksen til en celle og herfra laver lopslag, så finder lopslag ikke noget. Ved indtastning af en dato direkte i cellen virker det fint, men ikke ved indsættelse at tekstboksen.
 
Derfor har jeg en mistanke om at det er formateringen, der er problemet
 
Jeg har forsøgt forskellige ting:
Dim TextBox1 As Date
Sheets("Data").Range("S3").NumberFormat = "m/d/yyyy"
Sheets("Data").Range("S3") = TextBox1
 
Sheets("Data").Range("S3") = val (TextBox1.text)
 
Desværre kan jeg ikke få det til at lykkes - ØV
 
Hvem herinde kan hjælpe?...



Svar:
Besked fra: Allan
Posteringsdato: 28.Dec.2010 kl. 23:19
Hej peppe,
 
Jeg har ikke testet, men prøv følgende:
Sheets("Data").Range("S3").NumberFormat = "m/d/yyyy"
Sheets("Data").Range("S3").Value = TextBox1.Value
 
//Allan


Besked fra: peppe
Posteringsdato: 02.Jan.2011 kl. 01:30
Hej Allan
 
Det virkede og jeg fandt også ud af, at det der fejlede var datoformatet som
der dog stadig lidt problemer med:
Med formatet "m-d-yyyy" vender Excel om på måned og dag, men jeg kan ikke finde et format der bliver accepteret således at formatet er dag-måned-år istedet for måned-dag-år.
 
Jeg har forsøgt mig med fx
"dd-mm-yyyy"
"d-m-yyyy"
"dd.mm.yyyy"
"d.m.yyyy"
 
Selvfølgelig kan man jo blot indtaste datoen som måned-dag-år, så virker det fint.
 
Tak for hjælpen Allan...


Besked fra: Allan
Posteringsdato: 02.Jan.2011 kl. 20:35
Hej peppe,
 
Velbekomme, tak for din tilbagemelding Wink
Måske ligger problemet med datoen i din landeopsætning (I kontrolpanelet på din computer), jeg har set før at computere vendte datoer om. (Typisk ved Engelsk/Amerikansk opsætning)
 
Godt nyår!
 
//Allan
 


-------------
MVH

Allan
https://www.excel-regneark.dk" rel="nofollow - Excel-regneark.dk - Gratis skabeloner til Excel
Få over 120 ekstra funktioner med Danmarks bedste add-in


Besked fra: peppe
Posteringsdato: 02.Jan.2011 kl. 21:29
Hej igen Allan
 
Jeg har lige været inde og tjekke mine landeopsætning.
Her er der ikke noget at bemærke datoer og klokkeslæt er som de skal være, så det er ikke her problemet er desværre.
 
Umiddelbart mener jeg datoformatet dd-mm-yyyy i VBA burde give det rigtige resultat....
Herunder ser du min programmering...
 
Ps. har lige forsøgt mig igen med formatet d-m-yyyy jeg får så en fejl på den linie jeg har markeret med fed undersktreget skrift...
Paranteserne med kursiv skrift er for din forståelses skyld.
 
 
Private Sub CommandButton1_Click()

Sheets("Data").Range("S3").NumberFormat = "d-m-yyyy"
Sheets("Data").Range("S3").Value = TextBox1.Value
Sheets("Data").Range("S4").NumberFormat = "d-m-yyyy"
Sheets("Data").Range("S4").Value = TextBox2.Value
'de tre pile vises
pil1.Visible = True
pil2.Visible = True
pil3.Visible = True
'Resultater for fra dato
lab1.Caption = Sheets("Data").Range("T3").Value (opslået værdi)
lab2.Caption = Sheets("Data").Range("U3").Value (opslået værdi)
lab3.Caption = Sheets("Data").Range("V3").Value (opslået værdi)
'Resultater for til dato
lab4.Caption = Sheets("Data").Range("T4").Value (opslået værdi) Cry
lab5.Caption = Sheets("Data").Range("U4").Value (opslået værdi)
lab6.Caption = Sheets("Data").Range("V4").Value (opslået værdi)
'Resultater for perioden
lab7.Caption = Sheets("Data").Range("T5").Value (beregnet værdi)
lab7.BackColor = &H80FFFF
lab8.Caption = Sheets("Data").Range("U5").Value (beregnet værdi)
lab8.BackColor = &H80FFFF
lab9.Caption = Sheets("Data").Range("V5").Value (beregnet værdi)
lab9.BackColor = &H80FFFF
'Resultater for afkølingen
lab10.Caption = Sheets("Data").Range("V6").Value (beregnet værdi)
lab10.BackColor = &H80FF80
'Resultater for antal dage
labdag.Caption = Sheets("Data").Range("S5").Value (beregnet værdi)
Måske kan du se, hvor jeg træder forkert...
 
 
Herfra også de bedste ønsker til at du får et rigtig godt nyt-år
 
Peder



Print side | Luk vindue