• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

probleem met userform1.show

Status
Niet open voor verdere reacties.

Sophie90

Gebruiker
Lid geworden
4 nov 2011
Berichten
46
Hij deed alles zoals hij moest doen, echter zodra ik de knop van een userform op een ander sheet heb geplaatst, werkt mijn knop niet meer en krijg ik foutmelding 91: objectvariabele of blokvariabele With is niet ingesteld. Ik heb me een breuk gezocht, maar kan er maar niet achter komen wat er nu fout is. Wie kan me helpen?
in module1 staat:
Code:
Sub Knop2_Klikken()
UserForm1.Show
End Sub
De code van userform1;
Code:
Option Explicit

Private Sub UserForm_Initialize()
    
    Dim lbtarget As MSForms.ListBox
    Dim rngSource As Range
    Dim iRow As Integer
       
    iRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    'Set reference to the range of data to be filled
    Set rngSource = Worksheets("Deelnemers").Range("A2:A" & iRow)
       
    'Fill the listbox
    Set lbtarget = Me.listbox1
    With lbtarget
        .List = rngSource.Cells.Value
    End With
End Sub

Private Sub CommandButton1_Click()
Dim lItem As Long
Dim ronde As Integer
Dim fout As VbMsgBoxResult

If TextBox2.Value <> "" Then

ronde = TextBox2.Value

    For lItem = 0 To listbox1.ListCount - 1
        If listbox1.Selected(lItem) = True Then
            Sheets(ronde & "e ronde").Activate
            ActiveSheet.Range("C65536").End(xlUp)(2, 1) = listbox1.List(lItem)
            listbox1.Selected(lItem) = False
        End If
    Next
Else
fout = MsgBox("Geef rondenummer op!", vbOKOnly, "Fout")
End If
End Sub
Private Sub CommandButton2_Click()
TextBox2.Value = vbNullString
UserForm1.Hide
'sorteren !
End Sub

Ik heb geprobeerd om het bestand bij te voegen, maar de uploadmanager wilde niet uploaden.....
 
Het is me warempel toch nog gelukt!
Hopelijk weet iemand wat er aan de hand is....:confused:
 

Bijlagen

Laatst bewerkt:
Change

Code:
iRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

to

Code:
iRow = [B][I]Sheets("Deelnemers").[/I][/B]Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

John
 
Ik geloof dat je het initialize event ook kunt inkorten tot

Code:
    Dim CustRng As Range
    
    With Worksheets("Deelnemers")
        Set CustRng = .Range("A2", .Cells(.Rows.Count, "A").End(xlUp))
    End With
    Me.listbox1.List = CustRng.Value

MVG
Han
 
@ john: thanks! This is the solution for me. And I even understand what's wrong...I just didn't see it
@ Han: mooie manier om de code wat op te schonen. Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan