Alle sheets wijzigen d.m.v. één code

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
901
Beste Helpmij'ers,

Ik heb een code die alle werkbladen de formules omzet naar waarden. Dat werkt op zich prima, echter wil ik dat hij per sheet (werkblad) binnen een bereik deze werkzaamheden uitvoert. De compileerfout die ik nu krijg is: "Kan de methode of het gegevenslid niet vinden.

Code:
Sub test2()
Dim Sh As Range
    For Each Sh In ThisWorkbook.Sheets[COLOR="#FF0000"].Range("a3:ab1000")[/COLOR]
        Sh.Unprotect
    Next Sh
    For Each Sh In Sheets
        With Sh.UsedRange
            .Value = .Value
        End With
    Next Sh
End Sub

Weet iemand hoe dit kan wijzigen waardoor de code binnen een bereik gaat functioneren?

Alvast hartelijk dank.

Robert
 
Lijkt mij toch wel redelijk basis
Code:
For Each Sh In Sheets
      Sh.Unprotect
      Sh.Range("a3:ab1000") = Sh.Range("a3:ab1000").Value
 
Dat werkt perfect. Nog even tot slot...deze actie duurt vrij lang. Is het ook mogelijk dat er via msgbox, zolang het systeem bezig is, de tekst verschijnt: "Een moment geduld a.u.b."? En dat deze automatisch verdwijnt als de actie is voltooid?
 
Gebruik een Userform die je aan het begin van de code opent en aan het eind weer sluit.
 
Ik heb helemaal geen kaas gegeten van userforms, ik zal hier even kijken of er iets is wat ik kan gebruiken.
 
Volgens mij heb je nergens kaas van gegeten. De helpfunctie is onbekend? Google doet het ook niet? Waarom wil je dan iets met VBA zonder er zelf ook maar enige tijd in te steken?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan