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

Verwijderen

Status
Niet open voor verdere reacties.

Jack Nouws

Terugkerende gebruiker
Lid geworden
16 apr 2008
Berichten
1.396
Hallo

Ik heb met behulp van DEZE topic een userform gemaakt met exact de zelfde code. Nu wil ik een extra knop erbij die er voor zorgt dat ik ook werkelijk een regel kan verwijderen in de database. Hoe kan ik dit het beste aanpakken?

Met vr gr
Jack
 
Jack Nouws,

Ik heb even gekeken op de link die je gaf.
Daar zag ik wel een stukje over het verwijderen staan of bedoel je dat niet?
 
Jack Nouws,

Ik heb even gekeken op de link die je gaf.
Daar zag ik wel een stukje over het verwijderen staan of bedoel je dat niet?

Ja, daar staat idd een stukje over verwijderen maar hier worden de gegevens in het userform verwijderd en niet in tabblad database. Dus ik wil dmv een extra stukje code en een extra knop de gegevens ook in de database kunnen verwijderen. Is dat mogelijk?

Met vr gr
Jack
 
Jack Nouws,

Onderstaande code gebruik ik in mijn adressen bestand om een regel te verwijderen.

Code:
 With Sheets("Privé").Range("A2:A100")
    Set WA = .Find(cboNaam.Value, LookIn:=xlValues, LookAt:=xlWhole)
        If Not WA Is Nothing Then
            lWA = WA.Row - 1
            cboNaam.Value = ""
            Range(WA.Row & ":" & WA.Row).EntireRow.Delete
        End If
    End With
 
Ok bedankt, om die regel te verwijderen is opgelost.

Ik loop nu tegen een volgend probleem op, ik wil uit de combobox niet de gegevens uit de A kolom hebben maar uit de C kolom. Hoe kan ik deze code het beste aanpassen.
Code:
Private Sub UserForm_Initialize()
    sq = Sheets("database").Cells(1, 1).CurrentRegion.Offset(1) 
    keus.List = sq                                                                  
    
    sq = Sheets("database").Rows(1).SpecialCells(xlCellTypeConstants) 
    For j = 1 To UBound(sq, 2)
       Me("lb" & j).Caption = sq(1, j)
    Next
End Sub
Ik heb zelf al geprobeerd om de Offset aan te passen maar dan mis ik toch wel een aantal gegevens die naar de labels geschreven worden. Hoe nu?

Met vr gr
Jack
 
Jack Nouws,

Ik weet het niet zeker maar denk dat je dit moet aanpassen.
Code:
").Cells(1, 1).

Maak van die eerste 1 een 3 en kijk wat er gebeurd.
 
Jack Nouws,

Ik weet het niet zeker maar denk dat je dit moet aanpassen.
Code:
").Cells(1, 1).

Maak van die eerste 1 een 3 en kijk wat er gebeurd.

Ik heb er zelfs dit van gemaakt
Code:
").Cells(3, 3).
Maar de combobox wordt nog even vrolijk geladen met de gegevens uit kolom A.:)

Met vr gr
Jack
 
Laatst bewerkt:
Jack Nouws,

Ik denk dat dit code is van snb?
Dat snap ik nog niet helemaal, rowsourse vind ik makkelijker daar ik kan zien wat je selecteerd.
Ik heb je bestandje niet en kan dus ook niet gaan puzzelen.
Normaal probeer ik van alles en kijk wat er gebeurd en als je het dan lukt een ' er achter zetten met commentaar zodat je weet wat het doet.

Ik heb een paar andere vragen van je bekeken en daar gebruik je wel rowsourse.

Suc6
 
Laatst bewerkt:
Ik heb er zelfs dit van gemaakt
Code:
").Cells(3, 3).
Maar de combobox wordt nog even vrolijk geladen met de gegevens uit kolom A.:)

Met vr gr
Jack
tik vermoed dat de cbobox geladen word via de validatie gegevens Alt F3 eens kijken heb niet gekeken !!
 
Als je de 1e regel vervangt door...
Code:
    sq = Sheets("database").Range("C2:C" & Range("C65536").End(xlUp).Row)
... zie je wel de juiste kolom.

Met vriendelijke groet,


Roncancio
 
Als je de 1e regel vervangt door...
Code:
    sq = Sheets("database").Range("C2:C" & Range("C65536").End(xlUp).Row)
... zie je wel de juiste kolom.

Met vriendelijke groet,


Roncancio
Hallo Roncancio

Ik krijg nu een foutmelding: Kan de eigenschappen List niet instellen. Ongeldige index voor Eigenschappenmatrix. Wat moet ik nu doen?

Met vr gr
Jack
 
Hallo Roncancio

Ik krijg nu een foutmelding: Kan de eigenschappen List niet instellen. Ongeldige index voor Eigenschappenmatrix. Wat moet ik nu doen?

Met vr gr
Jack

Voor de volledigheid heb ik maar het bestand bijgesloten.
Ik krijg geen foutmelding overigens.

Met vriendelijke groet,


Roncancio
 

Bijlagen

Voor de volledigheid heb ik maar het bestand bijgesloten.
Ik krijg geen foutmelding overigens.

Met vriendelijke groet,


Roncancio
Hallo Roncancio

Als ik jou bestand open en ik kies uit de combobox een naam krijg ik nog steeds een foutmelding :confused:


Met vr gr
Jack
 
:thumb:
Jack,

Probeer eens het volgende:
Code:
Private Sub UserForm_Initialize()
    sq = Sheets("database").Cells(1, 1).CurrentRegion.Offset(1)
    With keus
        .ColumnCount = 3
        .ColumnWidths = "0;0;-1"
        .List = sq
    End With
    
    sq = Sheets("database").Rows(1).SpecialCells(xlCellTypeConstants)
    For j = 1 To UBound(sq, 2)
       Me("lb" & j).Caption = sq(1, j)
    Next
End Sub

RedEvil

Dank je RedEvil;

Nu blijkt het wel te werken :thumb:
Ik heb het nog niet uitvoerig kunnen testen maar dat komt nog wel aan bod vanavond.
Mag ik vragen waarom het nu wel werkt, en zojuist bij de code van Roncancio niet?
ColumnCount kan ik wel volgen maar ColumnWidths??
Met vr gr
Jack
 
Laatst bewerkt:
Ik loop nu tegen een volgend probleem op, ik wil uit de combobox niet de gegevens uit de A kolom hebben maar uit de C kolom. Hoe kan ik deze code het beste aanpassen
.

Code:
Private Sub UserForm_Initialize()
    sq = Sheets("database").Cells(1, 1).CurrentRegion.Offset(1) 
    keus.List = sq                                                                  
    
    sq = Sheets("database").Rows(1).SpecialCells(xlCellTypeConstants) 
    For j = 1 To UBound(sq, 2)
       Me("lb" & j).Caption = sq(1, j)
    Next
End Sub

alternatief 1
Code:
Private Sub UserForm_Initialize()
    sq = Sheets("database").Cells(1, 1).CurrentRegion.Offset(1,3).resize(,1) 
    keus.List = sq

alternatief 2
Code:
Private Sub UserForm_Initialize()
    sq = Sheets("database").usedrange.columns(3).offset(1)
    keus.List = sq

alternatief 3
Code:
Private Sub UserForm_Initialize()
    keus.list = worksheetfunction.transpose(worksheetfunction.transpose(Sheets("database").Cells(1, 1).CurrentRegion.Offset(1,3).resize(,1))) 

    sq = Sheets("database").Rows(1).SpecialCells(xlCellTypeConstants) 
    For j = 1 To UBound(sq, 2)
       Me("lb" & j).Caption = sq(1, j)
    Next
End Sub
 
Beste snb,

Ik krijg bij alle 3 je codes nog steeds dezelfde foutmelding nl: "Kan de eigenschap List niet instellen. Ongeldige index voor Eigenschappenmatrix." Ik krijg deze foutmelding als ik een naam uit de combobox aan klik en wel op deze regel
Code:
Private Sub keus_Change()
'  om te voorkomen dat de gebeurtenis 'keus_change' onbedoeld wordt doorlopen wordt gebruik gemaakt van de eigenschap keus.tag
'  als keus.tag de waarde " " heeft dient de code van gebeurtenis 'keus_change' niet uitgevoerd te worden.
'  de instructie Application.EnableEvents = False heeft hier niet het gewenste effekt

    With keus
        y = UBound(.List, 2)
        If .Tag = " " Then Exit Sub
        .Tag = " "
        If .ListIndex = -1 Or .ListIndex = .ListCount - 1 Then
            For j = 1 To UBound(.List, 2)
                Me("T" & j).Value = ""
            Next
            If .ListIndex = .ListCount - 1 Then                          '      nieuw record
                .Value = .List(.ListCount - 2, 0) + 1                    '     nieuw volgnummer
                T1.Text = Format(Date, "dd-mm-yyyy")               '    zet huidige datum in gegevensveld T1
            End If
            T2.SetFocus
        Else                                                                              '   bestaand record
            [COLOR="royalblue"]T1.Text = Format(.List(.ListIndex, 1), "dd-mm-yyyy") [/COLOR]    '  lees uit combobox 'keus' de gegevens in in de gegevensvelden T1 t/m T10
            For j = 2 To UBound(.List, 2)
                Me("T" & j).Value = Format(.List(.ListIndex, j))
            Next
        End If
        
        .Tag = ""
        knop_verwijder.Visible = .ListIndex > -1
        knop_opslaan.Visible = False
        knop_database.Visible = knop_database.Tag = " "
    End With
End Sub
Ik hoop dat ik zo duidelijk ben betreft de foutmelding.

Met vr gr
Jack
 
Jack Nouws,

Ik heb de macro met F8 laten lopen en dan geeft hij de fout aan op deze regel.

In de macro Keus_change
Code:
T1.Text = Format(.List(.ListIndex, 1), "dd-mm-yyyy")     '  lees uit combobox 'keus' de gegevens in in de gegevensvelden T1 t/m T10
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan