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

Regel verwijderen met VBA

Status
Niet open voor verdere reacties.

hoogteijling

Terugkerende gebruiker
Lid geworden
12 aug 2005
Berichten
4.261
Hallo allemaal,

In bijgevoegd bestand is een knop (Project verwijderen) die ervoor zorgt dat er een regel verwijderd wordt en dat de resterende regels gesorteerd worden.
Wat ik nu zou willen is dat deze knop een regel verwijderd maar daarna niet sorteert.

Uiteraard mag er geen lege regel overblijven tussen de overgebleven regels.

Groeten Marcel
Bekijk bijlage Projectenboek.zip
 
Hallo,

Dan hoef je toch enkel de VBA code voor het sorteren te verwijderen?
Of zie ik dat verkeerd?

Mvg
Exhelp
 
Dan blijft er dus een lege regel over in de lijst met projectnummers.
Dat wil ik dus niet.

Groeten Marcel
 
Zo dan?

Code:
Private Sub CommandButton3_Click() '<= Project verwijderen button in Uform
    If MsgBox("Project definitief verwijderen ??", vbQuestion + vbOKCancel, "Project verwijderen") = vbOK Then
        Application.ScreenUpdating = False
        With Sheets("Projectenboek")
            '.Cells(.Columns(3).Find(ComboBox1.Value, , xlValues, xlWhole).Row, 3).Offset(, -1).Resize(, 9).ClearContents
            .Cells(.Columns(3).Find(ComboBox1.Value, , xlValues, xlWhole).Row, 3).Offset(, -1).Resize(, 9).EntireRow.Delete
            '.Sort.SortFields.Clear
            '.Sort.SortFields.Add Key:=Range("C1:C" & .Cells(Rows.Count, 3) _
            '        .End(xlUp).Row), SortOn:=xlSortOnValues, Order:=xlAscending
            'With .Sort
            '    .SetRange Range("B1:J" & Sheets("Projectenboek") _
            '            .Cells(Rows.Count, 2).End(xlUp).Row)
            '    .Header = xlYes
            '    .Apply
            'End With
        End With
    Else
    End If
    proj_verw.Hide
    Unload Me
    Application.ScreenUpdating = True
End Sub
 
Er komt een foutmelding te staan:

Fout 1004 tijdens uitvoering:
Methode Delete van klasse Range is mislukt.


Groeten Marcel
 
Deze zal dat wel doen:
Code:
Private Sub CommandButton3_Click() '<= Project verwijderen button in Uform
    If MsgBox("Project definitief verwijderen ??", vbQuestion + vbOKCancel, "Project verwijderen") = vbOK Then
        Application.ScreenUpdating = False
        With Sheets("Projectenboek")
           Set c = .Cells(.Columns(3).Find(ComboBox1.Value, , xlValues, xlWhole).Row, 3).Offset(, -1).Resize(, 9)
            .Rows(c.Row).Delete
        End With
    Else
    End If
    proj_verw.Hide
    Unload Me
    Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Als Giga Senior weet je toch wel hoe je een lege rij kunt verwijderen met VBA ?
 
Foutmelding verschijnt nog steeds :(
il8r.png


Groeten Marcel
 
De foutmelding komt alleen als de beveiliging aan staat.
Het daadwerkelijke bestand is nl beveiligd.
Hoe kan ik dit verhelpen ?

Het bestand wat ik gepost heb in POST#1 is namelijk een uitgeklede versie.

Groeten Marcel
 
Code:
Private Sub CommandButton3_Click() '<= Project verwijderen button in Uform
    If MsgBox("Project definitief verwijderen ??", vbQuestion + vbOKCancel, "Project verwijderen") = vbOK Then
    With Application
         .ScreenUpdating = False
         .Unprotect
        With Sheets("Projectenboek")
           Set c = .Cells(.Columns(3).Find(ComboBox1.Value, , xlValues, xlWhole).Row, 3).Offset(, -1).Resize(, 9)
            .Rows(c.Row).Delete
        End With
    Else
    End If
    proj_verw.Hide
    Unload Me
        .ScreenUpdating = True
        .Protect
  End with
End Sub

Misschien nog een paswoord toevoegen.
 
Wat ik zo vreemd vind is dat het voorheen (met sorteerfunctie) wel werkte en nu zonder sorteerfunctie niet meer.
Terwijl toen ook de beveiliging aan stond bij mij.

Groeten Marcel
 
Laatst bewerkt:
@Cobbejaan

Foutmelding: Else zonder If verschijnt nu.

Groeten Marcel
 
Onderstaande code werkt totdat ik het werkblad beveilig en de .Protect en .Unprotect regels actief maak (geen wachtwoord).
Code:
Private Sub CommandButton3_Click() '<= Project verwijderen button in Uform
    If MsgBox("Project definitief verwijderen ??", vbQuestion + vbOKCancel, "Project verwijderen") = vbOK Then
        With Application
'        .Unprotect
        ScreenUpdating = False
                End With
        With Sheets("Projectenboek")
           Set c = .Cells(.Columns(3).Find(ComboBox1.Value, , xlValues, xlWhole).Row, 3).Offset(, -1).Resize(, 9)
            .Rows(c.Row).Delete
        End With
    Else
    End If
    proj_verw.Hide
    Unload Me
    With Application
    ScreenUpdating = True
'    .Protect
    End With
End Sub
Kan iemand nog eventjes helpen :(

Groeten Marcel
 
Test hem zo eens:
Code:
Private Sub CommandButton3_Click() '<= Project verwijderen button in Uform
  If MsgBox("Project definitief verwijderen ??", vbQuestion + vbOKCancel, "Project verwijderen") = vbOK Then
   With Sheets("Projectenboek")
        .Unprotect
    With Application
         .ScreenUpdating = False
           Set c = .Cells(.Columns(3).Find(ComboBox1.Value, , xlValues, xlWhole).Row, 3).Offset(, -1).Resize(, 9)
            .Rows(c.Row).Delete
      proj_verw.Hide
   Unload Me
        .ScreenUpdating = True
        .Protect
  End With
  End With
 End If
End Sub
 
Bedankt Cobbe,
Code:
Private Sub CommandButton3_Click() '<= Project verwijderen button in Uform
  If MsgBox("Project definitief verwijderen ??", vbQuestion + vbOKCancel, "Project verwijderen") = vbOK Then
   With Sheets("Projectenboek")
        .Unprotect
    With Application
         .ScreenUpdating = False
           Set c = .Cells(.Columns(3).Find(ComboBox1.Value, , xlValues, xlWhole).Row, 3).Offset(, -1).Resize(, 9)
            .Rows(c.Row).Delete
      proj_verw.Hide
   Unload Me
        .ScreenUpdating = True
[COLOR="#FF0000"]        .Protect
  End With[/COLOR]
  End With
 End If
End Sub
Na het omwisselen van de rode regels werkt ie uitstekend.

Groeten Marcel
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan