Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Delete knop in excell maken per rij  (gelezen 6598 keer)

0 leden en 1 gast bekijken dit topic.

Offline Jeroen1986

  • Volledig lid
  • **
  • Berichten: 115
  • Junior Consultant
Delete knop in excell maken per rij
« Gepost op: 15 februari 2005, 16:20:16 »
een nieuw probleempje,

Ik wil een delete knop maken met ok en cancel.
deze deleteknop zorgt ervoor dat ik een volledige rij kan deleten, maar ik ehb een autonummering in kolom B bijvoorbeeld dus als ik een volledig rij delete kloppen deze nummers niet meer (formule b1+1,b2+1 enzoverder).
de nummers mogen ook niet opnieuw gerenamed worden dus als ik een record verwijder dat de nummering dezelfde blijft. bijvoorbeeld
   B           C
0001     jeroen1
0002     jeroen2
0003     jeroen3

na het deleten
0001    jeroen1
0003    jeroen3


Heeft er iemand hier een oplossing voor ??
of een code?
in VBa voor een deletknop
hij moet ook die rij deleten waar ik op de knop heb gedrukt

dank bij voorbaat
MVg
jeroen
 

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Delete knop in excell maken per rij
« Reactie #1 Gepost op: 15 februari 2005, 17:54:41 »
Dat is redelijk eenvoudig op te lossen.

Stel dat je één knop hebt op die sheet. Met de volgende code in de VBA module van deze sheet kan je de actueel geselecteerde rij verwijderen:

Private Sub CommandButton1_Click()
confirm = MsgBox("Delete rij " & ActiveCell.Row & " ?", vbYesNo)
If confirm <> vbYes Then Exit Sub
ActiveCell.EntireRow.Delete
End Sub


Voorbeeld in bijlage.

Bart
WinXP - Excel 2000/XP/2003

Offline StriKe

  • Ambassadeur
  • *****
  • Berichten: 4.647
  • Geslacht: Man
Re:Delete knop in excell maken per rij
« Reactie #2 Gepost op: 15 februari 2005, 17:54:45 »
Hallo,

't Is nog niet helemaal wat je zoekt, maar mss ben je hier toch al een heel eind op weg.

Deze macro zal namelijk eerst via een inputbox aan jou vragen welke rij je wil verwijderen.

Private Sub CommandButton1_Click()

Dim Rij As Integer

Rij = InputBox("Geef nummer van de rij op die je wil verwijderen")

Rows(Rij).Select
    Selection.Delete Shift:=xlUp
End Sub

Wat je er nog zal moeten zien in te bouwen is 'de rij met actieve cel verwijderen'.

Groeten,
StriKe
0T5326 Dell Computer Corporation, GeForce FX Go5200, Windows XP, Prof, SP2, NL, Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz, 512 MB RAM, HDD:97 GB, NTFS, AVG Anti-Virus, Kerio Personal Firewall, Firefox 2.0, The Bat!

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Delete knop in excell maken per rij
« Reactie #3 Gepost op: 15 februari 2005, 17:56:50 »
StriKe,

Even een kleine tip: in VBA moet je objecten niet noodzakelijk selecteren om ze te manipuleren. Een rij kan je dus deleten zonder dat je eerst een select doet. Zie mijn voorbeeldje hierboven...

Greetz,
Bart
WinXP - Excel 2000/XP/2003

Offline StriKe

  • Ambassadeur
  • *****
  • Berichten: 4.647
  • Geslacht: Man
Re:Delete knop in excell maken per rij
« Reactie #4 Gepost op: 15 februari 2005, 17:59:58 »
Hmm, 'k wil je toch ook bedanken voor 't stukje code, 't lijkt ook voor mij interessant, weeral iets bijgeleerd.

Groeten,
StriKe
0T5326 Dell Computer Corporation, GeForce FX Go5200, Windows XP, Prof, SP2, NL, Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz, 512 MB RAM, HDD:97 GB, NTFS, AVG Anti-Virus, Kerio Personal Firewall, Firefox 2.0, The Bat!

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Delete knop in excell maken per rij
« Reactie #5 Gepost op: 15 februari 2005, 18:04:47 »
No problemo. Zeker proberen zo weinig mogelijk ".select" te doen, dat maakt de uitvoering veel trager.

In XLM (de oude Excel macrotaal) moest je inderdaad objecten selecteren vooraleer je er iets kon mee doen, in VBA is dat gelukkig niet meer zo. Dat is trouwens één van de pluspunten van VBA.

Bart

WinXP - Excel 2000/XP/2003

Offline Jeroen1986

  • Volledig lid
  • **
  • Berichten: 115
  • Junior Consultant
Re:Delete knop in excell maken per rij
« Reactie #6 Gepost op: 16 februari 2005, 08:23:42 »
bedankt

dit heeft mij goed geholpen
echt hartelijk bedankt

Offline Jeroen1986

  • Volledig lid
  • **
  • Berichten: 115
  • Junior Consultant
Re:Delete knop in excell maken per rij
« Reactie #7 Gepost op: 16 februari 2005, 08:39:29 »
heb nogeen klein probleempje als ik op yes druk,
bij jou code barthold
ik krijg een foutmelding met
"delete method of Range class failed"

Offline Jeroen1986

  • Volledig lid
  • **
  • Berichten: 115
  • Junior Consultant
Re:Delete knop in excell maken per rij
« Reactie #8 Gepost op: 16 februari 2005, 11:27:28 »
Heb de code aangepst zodat hij wle degelijk delete in
 
Private Sub Deletejeroen_Click()
confirm = MsgBox("Delete rij " & ActiveCell.Row & " ?", vbYesNo)
If confirm <> vbYes Then Exit Sub
ActiveCell.EntireRow.Select
Selection.Delete
End Sub


Maar nu is het zo zoals u in mijn vroge bericht kan zien werk ik met een autonemmering die telkens +1 doet als ik een rij verwijder is deze nummering fout
mss los ik het dus beter op om bij deze rij de achtergorndkleur te veranderen dus eigenlijk zo:

Private Sub Deletejeroen_Click()
confirm = MsgBox("Delete rij " & ActiveCell.Row & " ?", vbYesNo)
If confirm <> vbYes Then Exit Sub
ActiveCell.EntireRow.Select
Selection.BackColor = vbgrey
End Sub


Maar dit werkt echter niet, ik krijg steeds een error
ziet iemand de fout??

MVG
jeroen

Offline Jeroen1986

  • Volledig lid
  • **
  • Berichten: 115
  • Junior Consultant
Re:Delete knop in excell maken per rij
« Reactie #9 Gepost op: 16 februari 2005, 11:33:56 »
Private Sub Deletejeroen_Click()
confirm = MsgBox("Delete rij " & ActiveCell.Row & " ?", vbYesNo)
If confirm <> vbYes Then Exit Sub
ActiveCell.EntireRow.Select
With Selection.Interior
        .ColorIndex = 15
        .Pattern = xlSolid
    End With
End Sub

heb het gevonden

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Delete knop in excell maken per rij
« Reactie #10 Gepost op: 16 februari 2005, 18:31:09 »
Jeroen,

Normaal werkt die code wel degelijk zonder de rij eerst te selecteren... Welke versie van Excel gebruik je?

En wat betreft die autonummering. Waarom gebruik je hier formules? Je kan toch gewoon een "fill series" doen.?

Bart
WinXP - Excel 2000/XP/2003

Offline Jeroen1986

  • Volledig lid
  • **
  • Berichten: 115
  • Junior Consultant
Re:Delete knop in excell maken per rij
« Reactie #11 Gepost op: 17 februari 2005, 12:25:31 »
ik werk met office 97
en hierbij lukt de eerste code niet :s
maar het is in orde
alvast bedankt voor u hulp, bart
ik gebruik hier formules omdat het automatisch direct moet nummeren en ook moet het eeb vaste lengte hebben.
Mvg
jeroen

 

Offline LucHeyndrick

  • Volledig lid
  • **
  • Berichten: 217
  • Oplossing.be
Re:Delete knop in excell maken per rij
« Reactie #12 Gepost op: 17 februari 2005, 16:17:46 »
Jeroentjes code aangepast.

Private Sub Deletejeroen_Click()
confirm = MsgBox("Delete rij " & ActiveCell.Row & " ?", vbYesNo)
If confirm <> vbYes Then Exit Sub
Cells(ActiveCell.Row+1, 2).Value = Cells(ActiveCell.Row + 1, 2).Value
ActiveCell.EntireRow.Select
With Selection.Interior
        .ColorIndex = 15
        .Pattern = xlSolid
    End With
End Sub
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

 


www.combell.com