Avatar billede gonzoo Nybegynder
11. december 2000 - 12:55 Der er 17 kommentarer og
2 løsninger

hvordan angiver en værdi

jeg mangler en metode så jeg kan kontrolere om der står tal elle tekst i denne celle hvis der er en værdi skal jeg exit sub
her er koden 
Application.ScreenUpdating = False
If Range(\"G6\").Value = \"(skal angives her)\" Then
MsgBox \"DU HAR ET NUMMER\"
ElseIf Range(\"G6\").Value = \"\" Then
End If
Exit Sub
Avatar billede askims Nybegynder
11. december 2000 - 13:12 #1
Du kunne evt. bruge formlen: er.tal(dansk version), der returnere værdien sand, hvis cellen den tester er et tal, og falsk hvis den ikke er.

ASKIMS
Avatar billede vjorgensen Nybegynder
11. december 2000 - 13:13 #2
Jeg tror, at funktionen VÆRDITYPE(værdi), der giver et 1-tal når \"værdi\" er et tal, 2, når det er en tekst o.s.v. kan bruges her
Avatar billede gonzoo Nybegynder
11. december 2000 - 13:50 #3
JA MEN HVAD SKRIVER JEG I PARENTESEN
Avatar billede vjorgensen Nybegynder
11. december 2000 - 13:55 #4
Måske:

If VÆRDITYPE(Range(\"G6\").Value) = 1 Then

Venligst vjorgensen
Avatar billede gonzoo Nybegynder
11. december 2000 - 13:59 #5
hvad skal der stå ved værditype når det er tekst
Avatar billede vjorgensen Nybegynder
11. december 2000 - 14:02 #6
VÆRDITYPE kommer ud med et 2-tal, når G6 indeholder en tekst

Avatar billede gonzoo Nybegynder
11. december 2000 - 14:21 #7
min koder ser sådan ud og den melder en fejl om der står noget i g6 eller ej

Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
If VÆRDITYPE(Range(\"G6\").Value) = 1 Then
MsgBox \"DU HAR ET NUMMER\"
ElseIf Range(\"G6\").Value = \"\" Then
End If
Exit Sub
Avatar billede vjorgensen Nybegynder
11. december 2000 - 14:34 #8
Prøv følgende: gem VÆRDITYPE(G6) i f.eks. celle G7 og skriv: If Range(\"G7\").Value = 1 Then i makroen - det burde virke.
Avatar billede gonzoo Nybegynder
11. december 2000 - 14:44 #9
jeg tror ikke jeg fatter en skid ,alle celler på mit ark er optaget det jeg gør når jeg trykker på command knappen er at jeg får tildelet et nummer i  celle G6 og for ikke at tage et nummer mere end en gang ,skal jeg have besked om det og gå ud af koden igen det stykke koder her er kun en lille del af hele koden (fra starten)og hvis jeg har taget et nummer, dur det ikke jeg kører resten af kode, så går det hele i fisk for mig
Avatar billede vjorgensen Nybegynder
11. december 2000 - 15:13 #10
Nyt forslag: Hvad med funktionen IsNumber, det er en boolsk funktion, når den er lig TRUE har du et tal
Avatar billede gonzoo Nybegynder
12. december 2000 - 07:16 #11
som jeg har vist koden virker den omvendt så må forskellen være minimal jeg skal bare angive en værdi i parantesen og den vil starte med en tekst efterfulgt af et nummer
Avatar billede vjorgensen Nybegynder
12. december 2000 - 08:26 #12
Det forstår jeg til gengæld ikke meget af; virker IsNumber for dig?
Avatar billede askims Nybegynder
12. december 2000 - 09:40 #13
Du må kunne teste på om det er et tal, som jeg jeg foreslog. Du kan se parametrene til denne i excels-hjælpefil. Du kunne evt. lave to kolonner (og skjule dem, hvis brugeren ikke skal kunne se dem). I den ene kolonne tester du om det er en værdi og i den anden om det er en tekst(er.text el. IsText), så kan makroen kigge på om værdien \"Sand/True\" er i en af de to kolonner.
Avatar billede gonzoo Nybegynder
12. december 2000 - 11:56 #14
det er ikke en formel eller makro jeg kører, men programering i VB ,og det kan være der problemet er, jeg ved at tekst hedder String der er simpelthen formuleringen der er forkert hvis ikke der står noget i cellen får jeg beskeden i en msgbox \"du har et nummer\" og og det var når der stå noget i cellen det skulle komme.
Avatar billede gonzoo Nybegynder
12. december 2000 - 12:06 #15
Isnumber eller IsText hvor og hvordan mener du linien skal se ud
Avatar billede tjacob Juniormester
13. december 2000 - 14:38 #16
For at kunne bruge IsNumber er du nødt til at erklære den, da det er en worksheetfunction, ligesom du er nødt til at specificere din Range som et object:
Her er forudsat at det aktuelle ark hedder Ark1:

Dim MyRange As Range
Dim taltjek As Boolean

Set MyRange = Worksheets(\"Ark1\").Range(\"G6\")
taltjek = Application.WorksheetFunction.IsNumber(MyRange)
If taltjek = True Then
MsgBox \"DU HAR ET NUMMER\"
ElseIf Range(\"G6\").Value = \"\" Then
End If
Exit Sub
Avatar billede tjacob Juniormester
13. december 2000 - 14:48 #17
Såvidt jeg kan se skal du foriøvrigt have flyttet din Exit Sub kommando ind i If-løkken, ellers vil Exit gælde i alle tilfælde?!?
Avatar billede lillejens Nybegynder
14. december 2000 - 08:23 #18
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
If Range(\"G6\").Value <> \"\" Then (denne linje tester for tekst)
MsgBox \"DU HAR TAGET ET NUMMER\"
Exit Sub
ElseIf Range(\"G6\").Value = \"\" Then (er det en bestemt tekst skal den stå i melem \"  \")
End If

Sådan ser min kode ud nu og den virker det er muligt at det kan gøres på flre måder jeg har ikke afprøvet dit forslag endnu
Avatar billede gonzoo Nybegynder
14. december 2000 - 08:31 #19
mange tak for hjælpen det virker nu gonzoo ;-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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