Foutmelding 91

Status
Niet open voor verdere reacties.

JJZijlstra

Gebruiker
Lid geworden
26 nov 2013
Berichten
299
Beste lezer(s),

Zojuist heb ik een eenvoudig bestandje gemaakt. Enkele namen uit het werkblad wil ik deleten m.b.v. een zgn. listbox die je kunt openen middels de knop. Op de listbox kun je de naam/ namen selecteren die je wilt verwijderen. (MultiSelect).
Zelf heb ik het idee dat ik de code bijna goed heb, maar blijft steeds steken op de door mij aangegeven plaats. (Foutmelding 91). Het zal een kleinigheid zijn, maar ik zie dit niet.
Het bestandje heb ik toegevoegd.
Kunt u me dit uitleggen?

Vriendelijke groet,
Jo
 

Bijlagen

Hallo JeanPaul28,

Hartelijk dank voor de oplossing. Het werkt nu.

Maar waar zat nu precies de fout?


Vriendelijke groet,
Jo
 
Deze code heb ik aangepast of verwijderd (rode tekst), er is weinig verschil, vergelijk met jou code


Private Sub CommandButton2_Click()
Dim R_Rij As Range

With Me.ListBox1
R_Rij = .List(ListBox1.ListIndex, 1) 'HIER KOMT STEEDS DE FOUTMELDING 91 - WAAROM
End With

If MsgBox("Wilt u deze werknemer verwijderen?" & Chr(13) & _
"Deze persoon zal verdwijnen" & Chr(13) & "Verdergaan ?", vbYesNo) = vbYes Then
Sheets("Database medewerkers").Range("A" & R_Rij).EntireRow.Delete
Else
Exit Sub
End If

Selection.Delete
End Sub



Dit is de aangepaste code code
Private Sub CommandButton2_Click()
Dim R_Rij

With Me.ListBox1

R_Rij = ListBox1.ListIndex 'HIER KOMT STEEDS DE FOUTMELDING 91 - WAAROM
End With

If MsgBox("Wilt u deze werknemer verwijderen?" & Chr(13) & _
"Deze persoon zal verdwijnen" & Chr(13) & "Verdergaan ?", vbYesNo) = vbYes Then
Sheets("Blad1").Range("A" & R_Rij + 1).EntireRow.Delete
Else
Exit Sub
End If


End Sub
 
Andere methode:
Code:
 R_Rij = .ListIndex + 1
en:
Code:
 Sheets("Blad1").Range("A" & R_Rij).EntireRow.Delete

Of de gehele code zonder.
Code:
Private Sub CommandButton2_Click()
If MsgBox("Wilt u deze werknemer verwijderen?" & Chr(13) & _
    "Deze persoon zal verdwijnen" & Chr(13) & "Verdergaan ?", vbYesNo) = vbYes Then
    Sheets("Blad1").Range("A" & ListBox1.ListIndex + 1).EntireRow.Delete
    End If
End Sub
 
Geachte helpers,

Allereerst hartelijk dank voor jullie hulp en de moeite die je er voor hebt genomen. :) :)

Nog een laatste vraag:
Ik heb gemerkt dat je op deze manier maar 1 persoon tegelijk uit de database kunt verwijderen.
Hoe luidt de code als je meerdere geselecteerde personen in één keer wilt verwijderen?

Met vriendelijke groet,
Jo
 
Verwijder de rowsource in de eigenschap van de listbox.
Zet dit in de module van het formulier.
Code:
Private Sub CommandButton2_Click()
If MsgBox("Wilt u deze werknemer verwijderen?" & Chr(13) & _
    "Deze persoon zal verdwijnen" & Chr(13) & "Verdergaan ?", vbYesNo) = vbYes Then
    For i = ListBox1.ListCount - 1 To 1 Step -1
      If ListBox1.Selected(i) Then ListBox1.RemoveItem (i)
    Next i
      With Sheets("blad1").cells(1)
         .CurrentRegion.ClearContents
         .Resize(ListBox1.ListCount, 2) = ListBox1.List
      End With
    End If
End Sub

Private Sub UserForm_Initialize()
ListBox1.List = Cells(1).CurrentRegion.Value
End Sub
 
Laatst bewerkt:
@HSV en JeanPaul28,

Heel hartelijk dank nogmaals voor jullie hulp.
Het programma werkt nu zoals ik dat voor ogen heb.

:):)

Groet,
Jo
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan