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

Meedere macro's starten in verborgen velden

Status
Niet open voor verdere reacties.

Valks

Gebruiker
Lid geworden
2 sep 2011
Berichten
9
Beste,

Ik probeer een macro te maken die in meerdere velden zijn werkt doet bij 1 druk op de knop. Nu gaat alles prima totdat ik één van de tabbladen verberg waar een deel van de informatie in staat. Dan kan die de marco niet uitvoeren.

Hoe maak ik dus nu een macro (of 2, per blad'1) die bij 1 druk op de knop alles doet, ook in verborgen tapbladen?:)
 
Waarom kun je de macro dan niet uitvoeren? Zolang je een tab bij naam of nummer aanspreekt is er geen verschil tussen zichtbaar of niet.

Als je de macro hebt opgenomen, moet je hem mogelijk even opschonen. De recorder heeft de irritante eigenschap overal "select" te gebruiken en dat gaat mogelijk niet goed bij een verborgen tab. Dit is echter geen beperking van VBA maar de recorder.
 
Hij geeft een error als ik het tabblad verberg.. De macro heb ik wel opgenomen met de recorder en werkt prima zolang ik hem niet verberg. Werk overigens met office 2010

In VBA code staat dit:

Sub clearall()
'
' clearall Macro
'

'
Sheets("Data").Select
Range("B7").Select
ActiveCell.FormulaR1C1 = "1"
Range("D9").Select
ActiveCell.FormulaR1C1 = "1"
Range("F7").Select
ActiveCell.FormulaR1C1 = "2"
Range("H7").Select
ActiveCell.FormulaR1C1 = "2"
Range("H8").Select
ActiveCell.FormulaR1C1 = "1"
Range("H9").Select
ActiveCell.FormulaR1C1 = "2"
Range("H10").Select
ActiveCell.FormulaR1C1 = "1"
Range("H11").Select
ActiveCell.FormulaR1C1 = "1"
Range("J9").Select
ActiveCell.FormulaR1C1 = "1"
Range("L7").Select
ActiveCell.FormulaR1C1 = "1"
Range("N10").Select
ActiveCell.FormulaR1C1 = "1"
Range("P7").Select
ActiveCell.FormulaR1C1 = "1"
Range("R7").Select
ActiveCell.FormulaR1C1 = "1"
Sheets("Checklist Flat Roof").Select
Range("C44:L44").Select
ActiveCell.FormulaR1C1 = "please explain"
Range("C41:L41").Select
Selection.ClearContents
Range("C39:K39").Select
Selection.ClearContents
Range("C38:K38").Select
Selection.ClearContents
Range("D36").Select
Selection.ClearContents
Range("F36:H36").Select
Selection.ClearContents
Range("J36").Select
Selection.ClearContents
Range("C35:L35").Select
Selection.ClearContents
Range("C34:K34").Select
Selection.ClearContents
Range("C33:L33").Select
Selection.ClearContents
Range("C31:K31").Select
Selection.ClearContents
Range("C30:K30").Select
Selection.ClearContents
Range("C29:K29").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-9
Range("C26:K26").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-6
Range("C23:K23").Select
Selection.ClearContents
Range("C22:K22").Select
Selection.ClearContents
Range("E21:F21").Select
Selection.ClearContents
Range("K21").Select
Selection.ClearContents
Range("I20:K20").Select
Selection.ClearContents
Range("C19:K19").Select
Selection.ClearContents
Range("C17:L17").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-6
Range("C16:L16").Select
Selection.ClearContents
Range("C15:L15").Select
Selection.ClearContents
Range("C14:L14").Select
Selection.ClearContents
Range("C13:L13").Select
Selection.ClearContents
Range("C12:L12").Select
Selection.ClearContents
Range("C11:L11").Select
Selection.ClearContents
Range("C10:L10").Select
Selection.ClearContents
End Sub
 
Laatst bewerkt:
Dan zul je de macro met de hand moeten aanpassen / herschrijven.

Zoals ik al aangaf loop je waarschijnlijk tegen een beperking van de recorder aan.

het gaat hier fout waarschijnlijk:

Code:
Sheets("Checklist Flat Roof").Select

Het leest wat makkelijker als je de tekst tussen code - tags zet
 
Laatst bewerkt:
Ik heb het nu deels voor elkaar. Ik laat eerst de sheet tevoorschijnkomen met visible true en daarna weer verbergen. Dit is een redelijke oplossing maar zo kunnen mensen nog steeds de sheet die ik wil verbergen openen. Mocht er een betere oplossing zijn hoor ik het graag. Ik kan op internet geen andere manier vinden en vind dit toch wel raar?
 
jawel hoor:

Code:
with Sheets("Checklist Flat Roof")
.range("c10:l17").clearcontents
.range("c29:k31").clearcontents
end with

Dit maakt twee blokken op je blad leeg zonder het open te hoeven hebben.
 
Dat werkt wel! Alleen moeten die cellen niet leeg gemaakt worden maar 1 of 2 worden aangegeven.. kan dit ook? Een waarde toewijzen aan een cel?

Bedankt wampier!
 
Code:
with Sheets("Checklist Flat Roof")
.range("c10:l17").value=1
.range("c29:k31").value="alles wat je kwijt wil"
end with

Ron
 
Valks,

deze code doet exact hetzelfde als die lange code uit jouw post #3:
Code:
Sub clearall()
'
' clearall Macro
'

'
With Sheets("Data")
    .Range("B7,D9,H8,H10:H11,J9,L7,N10,P7,R7") = "1"
    .Range("F7,H7,H9") = "2"
End With
With Sheets("Checklist Flat Roof")
    .Range("C44") = "please explain"
    .Range("D36,J36,F36:H36,E21:F21,K21,I20:K20,C19:K19,C22:K23,C26:K26,C29:K31,C34:K34,C38:K39,C10:L17,C33:L33,C35:L35,C41:L41").ClearContents
End With
End Sub

met dit verschil dat het ook werkt als een werkblad verborgen is....
 
bedankt, die ik zeker een stuk korter en makkelijker te overzien! Snap alleen niet waarom ze het nu wel doen en voorheen niet..
 
de regel

Range("D36,J36,F36:H36,E21:F21,K21,I20:K20,C19:K19,C22:K23,C26:K26,C29:K31,C34:K34,C38:K39,C10:L17,C33:L33,C35:L35,C41:L41").ClearContents

geeft een error. Komt dit doordat veel van die cellen zijn samengevoegd? Daar had ik eerder ook een probleem mee..
 
Valks,

en wat is de melding dan?
Bij mij werkt het gewoon, maar ik heb staan .Range etc.....
 
Laatst bewerkt:
de regel

Range("D36,J36,F36:H36,E21:F21,K21,I20:K20,C19:K19,C22:K23,C26:K26,C29:K31,C34:K34,C38:K39,C10:L17,C33:L33,C35:L35,C41:L41").ClearContents

geeft een error. Komt dit doordat veel van die cellen zijn samengevoegd? Daar had ik eerder ook een probleem mee..

Als je structuur aanbrengt in je werkblad, denk ik niet dat zulke bereiken nodig zijn...
Samengevoegde cellen gebruiken is doorgaans ook een bron van problemen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan