11. december 2000 - 12:55Der 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
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
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
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
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.
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.
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
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
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.