Avatar billede Claus Mester
16. maj 2002 - 11:05 Der er 14 kommentarer og
3 løsninger

VBA: Dato ..ihhhhh altså..

Hej!

Hvorfor fortæller VB "object requiered", når jeg kører nedenstående kode:

Dim dDate As Date
dDate = DateSerial(Mid(TxtDato1.Text, 5, 4), Mid(TxtDato1.Text, 3, 2), Mid(TxtDato1.Text, 1, 2))

    With Selection.Find
        .ClearFormatting
        .Text = "Dato1"
        With .Replacement
            .ClearFormatting
            .Text = Format(dDate, "dd. mmmm yyyy")
        End With
        .Execute Replace:=wdReplaceAll, _
            Format:=True, MatchCase:=True, _
            MatchWholeWord:=True
    End With

End sub
Avatar billede _just4fun_ Nybegynder
16. maj 2002 - 11:12 #1
sikkert fordi du kører en metode (f.eks. .FIND) på noget der ikke er et objekt....
Avatar billede terry Ekspert
16. maj 2002 - 11:14 #2
which line is giving the problem?
We can NOT see what txtDato1 contains so its hard to say!
Avatar billede Claus Mester
16. maj 2002 - 11:27 #3
Problemet ligger i:
dDate = DateSerial(Mid(TxtDato1.Text, 5, 4), Mid(TxtDato1.Text, 3, 2), Mid(TxtDato1.Text, 1, 2))

Txtdato1 er en tekstboks på en form.
Avatar billede tjacob Juniormester
16. maj 2002 - 11:33 #4
-Og du HAR selected noget tekst -inden du kører makroen?
Avatar billede terry Ekspert
16. maj 2002 - 11:36 #5
what does the text box contain (EXAMPLE) if it is a date then

dDate = Cdate(TxtDato1)
Avatar billede terry Ekspert
16. maj 2002 - 11:37 #6
or
dDate = CDate(Mid(TxtDato1.Text, 5, 4), Mid(TxtDato1.Text, 3, 2), Mid(TxtDato1.Text, 1, 2))
Avatar billede terry Ekspert
16. maj 2002 - 11:57 #7
nocolaus>hows it going?
Avatar billede Claus Mester
16. maj 2002 - 12:17 #8
Tekstboksen indeholder en dato indtastet af brugeren (16052002) = txtdato1.text

Makroen skulle gerne ved aktivering gennemsøge det aktive dokument efter "Dato1" og derefter indsætte den dato som brugeren har indtastet i txtdato1.
Avatar billede terry Ekspert
16. maj 2002 - 12:34 #9
Lets do one thing at a time!
Are you still having problems converting your text field to a date?
Avatar billede Claus Mester
16. maj 2002 - 13:10 #10
Nej. Jeg har ingen problemer med konverteringen som sådan. Men på et tidspunt, før denne fejlmeddelelse begyndte at dukke frem, konverteredes 150502 til 15. maj 2003 ???!!!
Avatar billede terry Ekspert
16. maj 2002 - 13:15 #11
150502!!!!
IF you look at your code
Mid(TxtDato1.Text, 5, 4) starts at the fifth character and takse 4 characters (YYYY) HOW?????
Avatar billede Claus Mester
16. maj 2002 - 13:18 #12
Brugeren skal skrive 15052002 (sorry)
Avatar billede terry Ekspert
16. maj 2002 - 13:26 #13
Are you saying that you DO NOT have problems with converting the date and that the problem is somewhere else?
Avatar billede Claus Mester
16. maj 2002 - 14:04 #14
Jeg har ingen problemer med konverteringen, men et problem med at køre førnævnte linie "object required".
Avatar billede terry Ekspert
16. maj 2002 - 14:15 #15
16/05-2002 11:27:17
dDate = DateSerial(Mid(TxtDato1.Text, 5, 4), Mid(TxtDato1.Text, 3, 2), Mid(TxtDato1.Text, 1, 2))

not sure I am still following!
Avatar billede Claus Mester
16. maj 2002 - 14:23 #16
terry> Jeg tror ikke du kan følge mig.

Men hvis du skulle oprette et script, der i et word.doc søger efter Dato1 og skal erstatte Dato1 med teksten i en txtbox.text fra en Userform1. Hvordan ville dit script se ud??
Avatar billede terry Ekspert
16. maj 2002 - 14:46 #17
nicolous>
I answered th equestion BECAUSE you were having problems with this line

dDate = DateSerial(Mid(TxtDato1.Text, 5, 4), Mid(TxtDato1.Text, 3, 2), Mid(TxtDato1.Text, 1, 2))
so if it is NOT that problem then I will let others help you
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
Kategori
Kurser inden for grundlæggende programmering

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