Avatar billede gider_ikke_mere Nybegynder
29. september 2005 - 13:07 Der er 11 kommentarer og
1 løsning

Lukke form fra Function

Hver gang en form åbnes skal der checkes for værdien i en bestemt celle. Hvis der ingen værdi er skal der meldes en fejl og formen skal lukkes. Det sidste kan jeg ikke få til at fungere.

'I de forskellige forms kalder jeg funktionen.
CheckSprogTegning (Me.Name)

'funktionen ser således ud
Function CheckSprogTegning(FormName As String) As MSForms
If Range("SPROG_TEGNING") = "" Then
    MsgBox "Fejl 1001. Der er ikke angivet sprog for tegningssættet!"
    FormName.Hide
    Range("SPROG_TEGNING").Select
End If
End Function

Kan det ikke virke på denne eller en lignende måde?
Avatar billede kabbak Professor
29. september 2005 - 13:35 #1
If Range("SPROG_TEGNING") = "" Or IsEmpty(Range("SPROG_TEGNING")) Then
Avatar billede kabbak Professor
29. september 2005 - 13:47 #2
Private Sub UserForm_Activate()
If CheckSprogTegning() = False Then Me.Hide
End Sub

Function CheckSprogTegning() As Boolean
If Range("SPROG_TEGNING") = "" Then
    MsgBox "Fejl 1001. Der er ikke angivet sprog for tegningssættet!"
    Range("SPROG_TEGNING").Select
    CheckSprogTegning = False
    Else
    CheckSprogTegning = True
End If
End Function
Avatar billede gider_ikke_mere Nybegynder
29. september 2005 - 13:52 #3
1. kommentar: Kan ikke bruges da der er mange ting der skal checkes for!
2. kommentar: Det var for at se om jeg kunne undgå en If-sætning i userform!
Avatar billede oyejo Nybegynder
29. september 2005 - 13:53 #4
Function CheckSprogTegning(FormName As String) As bolean
  ...
  ...
end function


hav hvis du legger resten av koden i UserForm_Activate()



Private Sub UserForm_Activate()
 
  if function()= False then
    MsgBox "Fejl 1001. !"
    Me.Hide
  end if
End Sub
Avatar billede oyejo Nybegynder
29. september 2005 - 13:54 #5
obs! så ikke de siste innlegg :-)
Avatar billede gider_ikke_mere Nybegynder
29. september 2005 - 13:55 #6
Jeg kunne jo lige så godt bruge en Sub efter 2. løsning
Avatar billede gider_ikke_mere Nybegynder
29. september 2005 - 14:02 #7
Da jeg har en masse anden kode som afvikles ved UserForm_Activate skal koden se således ud!

If CheckSprogTegning() = False Then
    Me.Hide
    Exit Sub
End If

Det var alt den kode ved hver eneste UserForm_Activate jeg ville undgå!
Avatar billede kabbak Professor
29. september 2005 - 14:42 #8
Private Sub UserForm_Activate()
CheckSprogTegning
End Sub

Function CheckSprogTegning()
If Range("SPROG_TEGNING") = "" Then
For Each Form In UserForms
Form.Hide
Next
    MsgBox "Fejl 1001. Der er ikke angivet sprog for tegningssættet!"
    Range("SPROG_TEGNING").Select
End If
End Function



den skjuler alle userforms
Avatar billede kabbak Professor
29. september 2005 - 14:46 #9
Eller

Private Sub UserForm_Activate()
CheckSprogTegning (Me.Name)
End Sub


Function CheckSprogTegning(Navn As String)
If Range("SPROG_TEGNING") = "" Then
For Each Form In UserForms
If Form.Name = Navn Then
Form.Hide
Exit For
End If
Next
    MsgBox "Fejl 1001. Der er ikke angivet sprog for tegningssættet!"
    Range("SPROG_TEGNING").Select
End If
End Function

Lukker kun den der er kaldt fra
Avatar billede gider_ikke_mere Nybegynder
29. september 2005 - 15:57 #10
Super kabbak.

Det var lige det jeg søgte.
Avatar billede kabbak Professor
29. september 2005 - 21:46 #11
et svar ;-))
Avatar billede kabbak Professor
29. september 2005 - 21:58 #12
tak for point
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel