Macro inkorten

Status
Niet open voor verdere reacties.
@ VenA

Wat is er anders/beter aan jouw macro?
Wat je in een ander topic zegt is inderdaad dat je de macro twee keer kan uitvoeren en dit dan een niet gewenst resultaat wordt.
Kan er iets in de macro dat deze maar één keer kan uitgevoerd worden?
 
Bestand sluiten, muis uitschakelen, macro verwijderen, etc.
 
Laatst bewerkt:
Lijkt me niet ideaal, want de macro zou na het eerste deel nog een stuk moeten afhaspelen...
 
Je kan toch controleren op kolomkoppen? Of ergens een iets in een cel neerzetten.

If a1 = 0 then
code
a1 = 1
 
@VenA

De oplossing zit in de code zelf.
Een kwestie van nadenken; dat is het enige wat nog ontbreekt.
 
@ VenA

Zoiets had ik al aan gedacht...
Maar is er iets waarmee ik de macro-knop kan verwijderen/onzichtbaar maken na uitvoering?
Deze moet natuurlijk wel terug komen bij het heropenen van de file.
 
Deze moet natuurlijk wel terug komen bij het heropenen van de file.
Lijkt mij nogal onnozel.
Lees #25 en #26 nog eens.
Of leg uit wat er bij het opnieuw openen van het bestand gebeurt.
 
De macro gaat x-voudig veel kolommen verwijderen en enkel deze behouden die nuttig zijn.
Maar als je twee maal op deze knop kan drukken zijn ook de (tweede keer) “nuttige” kolommen verwijderd.
Waarom ik opteer voor het “verdwijnen” van de knop en niet in een cel 0 of 1 wil laten optekenen? Omdat als de knop per toeval in een kolom staat die verwijderd moet worden, ook de knop dan weg is.
Als deze file dan gesaved wordt en ik doe deze volgende keer open is de knop er niet meer…
Of zie ik dit verkeerd?
 
Of leg uit wat er bij het opnieuw openen van het bestand gebeurt.
Ik vermoed het volgende: de macro mag geen tweemaal gebruikt worden tot dat er de dag nadien of de week nadien of whenever nieuwe data voorhanden is,dan moet het mogelijk zijn om de macro opnieuw uit te voeren.
Omdat als de knop per toeval in een kolom staat die verwijderd moet worden, ook de knop dan weg is
Je kan ook een sneltoets gebruiken om een macro uit te voeren. (vb Ctrl + J), dan heb je geen knop nodig en de kans dat je per ongeluk 2 maal de sneltoets gebruikt in plaats van 2 maal de knop is een stuk kleiner.
Om de kans op het dubbel uitvoeren van de macro via de knop te verkleinen zou je eerst een boodschap kunnen laten verschijnen met de vraag "Ben je zeker dat je de kolommen wilt verwijderen?"
Ik ben niet echt voorstander van dergelijke boodschappen omdat het een extra handeling vraagt, maar in jou geval is het misschien nuttig.
 
Ik vermoed het volgende: de macro mag geen tweemaal gebruikt worden tot dat er de dag nadien of de week nadien of whenever nieuwe data voorhanden is,dan moet het mogelijk zijn om de macro opnieuw uit te voeren.

Klopt helemaal! Dat is de reden...
 
Als is je volgende code gebruikt is dit voldoende om fouten te vermijden?
Code:
Sub verwijderen()
boodschap = "Kolommen verwijderen, ben je  zeker?"
If MsgBox(boodschap, vbQuestion + vbYesNo, "Bevestig verwijderen.") = vbNo Then GoTo oeps
With Sheets("Blad1")
    .Range("A:A,D:D,H:H,J:J,K:O,R:BD,BF:CR").Delete
    With .Columns
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlCenter
      .AutoFit
    End With
  End With
oeps:
End Sub
 
Dit is een controle/lapmiddel, dat zou kunnen helpen.
Maar was/is niet direct de oplossing waar ik naar op zoek ben. Kan hier geen dubbele uitvoer uitsluiten.
Toch bedankt voor de moeite al!
Ik zoek ook nog wat verder.
 
De oplossing staat in #25 maar het kwartje wil blijkbaar niet vallen.
 
Ik ben mee met #25, maar...daarom is dit nog niet opgelost...

Omdat als de knop per toeval in een kolom staat die verwijderd moet worden, ook de knop dan weg is.
 
Nergens last van.
 

Bijlagen

  • Ron001.xlsb
    17,2 KB · Weergaven: 27
Daar heb jij inderdaad geen last van 
Werkt perfect.
Maar kan dit ook zonder woorden “kop” in de cellen en toepasbaar op mijn macro?
 
We zitten aan postje #39 en we hebben nog altijd geen voorbeeldbestandje gezien.
Post een gelijkend voorbeeldbestandje zonder gevoelige info zodanig dat we gerichter kunnen helpen.
Het is helpmij en niet maakmij, laat ook eens zien wat je al hebt geprobeerd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan