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

VBA waarschuwing

Status
Niet open voor verdere reacties.

Chris15

Gebruiker
Lid geworden
23 aug 2016
Berichten
556
Ik heb een knop gemaakt met de volgende code in VBA:

Code:
Sub Clearcells()
Range("A8", "A999").Clear
Range("B8", "B999").Clear
Range("J8", "L19").Clear
End Sub

Kan ik hier ook een waarschuwing in geven om wel of niet door te gaan?
Bijvoorbeeld: Doorgaan? ja of nee.
 
Laatst bewerkt:
Ja dat kan als volgt:
Code:
Sub Clearcells()
antw = MsgBox("Doorgaan?", vbYesNo)
If antw = vbYes Then
    Range("A8", "A999").Clear
    Range("B8", "B999").Clear
    Range("J8", "L19").Clear
End If
End Sub
 
Dank je! Nog een vraagje:

Ik wil de inhoud wissen, dan moet ik niet clear maar iets anders gebruiken?
 
Of:
Code:
Sub Clearcells()
  If MsgBox("Doorgaan?", vbYesNo) = vbYes Then Range("A8:B999,J8:L19").ClearContents
End Sub
 
Laatst bewerkt:
les 1 Excel

Range("A8:A999")

Les 1 VBA

gebruik geen VBA termen zoals misschien 'clearcells', maar bijv. 'M_schoon'
 
Ik wilde inhoud wissen maar niet verwijderen, welke code gebruik je dan in Les1?
 
En wat bedoel je precies met "wissen maar niet verwijderen"?
 
Als je op een cel gaat staan, dan kan je met je rechter muisknop verwijderen of inhoud wissen.

Met clear gaat ook de opmaak van de cel weg. Maar de opmaak wil ik houden.

Dus ik dacht dat je dan clear moet veranderen voor...... ?
 
Heb je al in #4 gekeken?
 
Les 2 Excel:

Code:
Range("A8:B999,J8:L19").ClearContents
 
Helemaal terecht.
Aangepast in #4.
 
Dank jullie! Even voor de zekerheid:

Code:
Sub Clearcells()
antw = MsgBox("Doorgaan?", vbYesNo)
If antw = vbYes Then
    Range("A8:B999,J8:L19").ClearContents
End If
End Sub
 
Dat mag je zo schrijven, wat ik al liet zien:
Code:
Sub Clearcells()
    If MsgBox("Doorgaan?", vbYesNo) = vbYes Then Range("A8:B999,J8:L19").ClearContents
End Sub
 
De naamgeving van de macro kan nog verbeterd worden (om verrassingen te voorkomen).
Voor je het weet introduceert MS in VBA een methode die 'clearcells' heet.
De code can ook appplicatie-onafhankelijk worden geschreven (robuustheid)

Code:
Sub M_schoon()
  If MsgBox("Doorgaan?", 4) = 6 Then Range("A8:B999,J8:L19").ClearContents
End Sub
 
Laatst bewerkt:
Je hebt in deze draad 7 nieuwe dingen geleerd.
Kun jij ze nog even recapituleren ?
 
Hoi snb, ik heb deze pagina bij mijn favorieten gezet, en lees jou lessen vaker over!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan