• 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.

Hele rij verwijderen levert fout op in blad 2

Status
Niet open voor verdere reacties.

JanBG

Verenigingslid
Lid geworden
30 aug 2017
Berichten
942
Hallo,

In een adressen bestand staan de complete gegeven van de leden (Blad1). Om adres etiketten te genereren staan in Blad 2 alleen de adresgegevens.

Als ik via de knop "Lid verwijderen" een lid uitschrijf, gaat dat op Blad 1 prima, maar krijg ik op blad 2 een verwijzingsfout. Heb al allerlei zaken geprobeerd, maar kom er niet uit. Wat zie ik over het hoofd?
 

Bijlagen

  • Voorbeeldlijst.xlsm
    31,8 KB · Weergaven: 27
Logisch toch?
De bron van de functie is verwijderd.
Verwijder in je VBA routine de regel ook uit Blad2.
Dan eerst uit Blad2 en dan uit Blad1.

De loop is ook overbodig.
Gebruik Range.Find
 
Laatst bewerkt:
Voorbeeldje met de genoemde Range.Find
Tevens wordt dan de combobox opnieuw geladen:
Code:
Private Sub CommandButton1_Click()
    Dim c As Range
    
    If MsgBox("Correcte ingave?", vbYesNo + vbQuestion, "Kijk de gegevens na!") = vbNo Then Exit Sub
    Set c = Sheets("Blad1").Range("A:A").Find(CB_01.Value, , xlValues, xlWhole)
    If Not c Is Nothing Then
        Sheets("Blad2").Rows(c.Row).Delete
        Sheets("Blad1").Rows(c.Row).Delete
        CB_01.List = Sheets("Blad1").Range("A:A").Value
    End If
End Sub
 
Laatst bewerkt:
Maak slim gebruik van jouw tabel en de combobox.
Code:
Private Sub CommandButton1_Click()
  If CB_01.ListIndex > -1 Then
    If MsgBox("Correcte ingave?", vbYesNo + vbQuestion, "Kijk de gegevens na!") = vbNo Then Exit Sub
    Sheets("Blad1").ListObjects(1).ListRows(CB_01.ListIndex + 1).Delete
    CB_01.List = Sheets("Blad1").ListObjects(1).DataBodyRange.Columns(1).Value
  End If
End Sub

Voor het wegschijven van een nieuw lid
Code:
Private Sub CommandButton3_Click()
  With Sheets("Blad1").ListObjects(1)
    .ListRows.Add.Range.Resize(, 8) = Array(TB_01.Value, CDate(TB_02.Value), Month(CDate(TB_02.Value)), TB_04.Value, TB_05.Value, TB_06.Value, TB_07.Value, TB_08.Value)
    .Range.Sort .Range.Cells(1), , , , , , , xlYes
  End With
End Sub

Blad2 wordt dmv Power Query bijgewerkt na het sluiten van het formulier.
 

Bijlagen

  • Voorbeeldlijst.xlsm
    39,2 KB · Weergaven: 19
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan