Avatar billede ngunordic Juniormester
10. juli 2017 - 09:06 Der er 9 kommentarer og
1 løsning

VBA Runtime 91-error

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A2:A8")) = "SQL" Then
UserForm1.Show
End If
End Sub

Dette er min helt simple kode - koden fungerer fint, dog laver den fejl efter hver gang Userform1 har været vist???  :)

"Run-time error '91':

Object variable or With block variable not set??

håber i kan hjælpe?
Avatar billede ebea Ekspert
10. juli 2017 - 09:26 #1
Prøv at kigge i Linket her, hvor der er forklaret lidt mere i detaljer, om problemet!
https://msdn.microsoft.com/en-us/library/aa264506(v=vs.60).aspx
Avatar billede ngunordic Juniormester
10. juli 2017 - 09:33 #2
mange tak, men jeg forstår det ikke helt? jeg ved ikke hvilken variable jeg skal indsætte?
Avatar billede ebea Ekspert
10. juli 2017 - 10:23 #3
Du må jo have lidt mere kode andetsteds, end det du lige angiver! Hvis jeg tester din kode her, så gir' den ingen fejl, og UserForm1 fremkommer, når der er ændringer i A2:A8
Avatar billede ebea Ekspert
10. juli 2017 - 11:01 #4
Prøv at bruge denne kode, istedet:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A2:A8")) Is Nothing Then
Exit Sub
Else: UserForm1.Show
End If
End Sub
Avatar billede ngunordic Juniormester
10. juli 2017 - 11:23 #5
Det er kun når "SQL" fremkommer, at userform'en skal komme frem.

dette er koden på de to knapper jeg har på min userform; Standard og Enterprise
Private Sub CommandButton1_Click()

ActiveCell.Offset(0, 4).Value = "Standard"

Unload UserForm1
End Sub

Private Sub CommandButton2_Click()

ActiveCell.Offset(0, 4).Value = "Enterprise"

Unload UserForm1

End Sub
Avatar billede ngunordic Juniormester
10. juli 2017 - 13:21 #6
Giver det mening?
Avatar billede ebea Ekspert
10. juli 2017 - 13:33 #7
Har du prøvet koden i #4 ?
Avatar billede ngunordic Juniormester
10. juli 2017 - 13:44 #8
yes, den virker uden fejl.

Her er udfordringen, at hvis en af de andre muligeder vælges, så kommer Userform1 stadig frem. Den skal kun komme frem hvis SQL vælges :)
Avatar billede ebea Ekspert
10. juli 2017 - 14:07 #9
Brug koden her, på dit Ark1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A2:A8")) Is Nothing Then
Exit Sub
Else: If Intersect(Target, Range("A2:A8")) = "SQL" Then UserForm1.Show
End If
End Sub
Avatar billede ngunordic Juniormester
10. juli 2017 - 14:31 #10
Nu virker det hele :) og har kunnet tilføje et par ekstra Userforms hvis andet blev valgt. tusinde tak
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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