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

Oscarbord 3

Status
Niet open voor verdere reacties.

gerrit123456789

Gebruiker
Lid geworden
15 dec 2013
Berichten
272
Ik heb nog een vraagje.

Ik wil als ik het bestand opsla dat hij de cellen die niet geblokkeerd zijn leeg maakt. Ik ga het bestand beveiligen.

Ik heb de volgende macro

[PHPSub SaveAs()
With ActiveSheet
Range("A1:K34").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Gerrit\Documents" & Format(Date, "dd-mm-yyyy") & " " & Format(Time, "hh.mm") & " " & [I1]

For Each cel In ActiveSheet.UsedRange
If Not cel.Locked Then cel.Value = ""
Next cel

End With
End Sub][/PHP]

Hij slaat het bestand wel op, maar maakt de niet geblokkeerde cellen niet leeg.

Wat doe ik fout.

Groet,

Gerrit
 
1e wat je fout doe is, geen Code Tags gebruiken.
Als je al zolang bij "Helpmij" zit, moet je dit toch wel weten.
 
Laatst bewerkt:
Code:
Sub SaveAs()
With ActiveSheet
    Range("A1:K34").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Gerrit\Documents\" & Format(Date, "dd-mm-yyyy") & " " & Format(Time, "hh.mm") & " " & [I1]
    
     For Each cel In ActiveSheet.UsedRange
    If Not cel.Locked Then cel.Value = ""
   Next cel
    
End With
End Sub

zo dus
 
Probeer dit eens en geef je sub nooit een naam die overeenkomstig een in VBA gereserveerd woord is:
Code:
Sub Opslaan()
    Range("A1:K34").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Gerrit\Documents\" & Format(Date, "dd-mm-yyyy") & " " & Format(Time, "hh.mm") & " " & [I1]
    For Each cel In ActiveSheet.UsedRange
        If Not cel.Locked Then cel.Value = ""
    Next cel
End Sub
 
Hij slaat hem wel op als .pdf bestand, maar maakt de niet geblokkeerde cellen niet leeg.

Gerrit
 
De code is goed, plaats dus je bestand.
 
doet hetzelfde.
Code:
Filename:="C:\Users\Gerrit\Documents\" & Format(now, "dd-mm-yyyy hh.mm") &  " " & [I1]
 
En welke cellen in dat document zijn niet gelocked?
 
Laatst bewerkt:
Bij alle cellen die je noemt staat Geblokkeerd gewoon aangevinkt in het document dat je plaatste.
Als je daar niet van afhankelijk wil zijn kan je het ook zo doen:
Code:
Range("G1, I1, C7:C14, G7:H14, B25:H26").ClearContents

Maar ik heb het vermoeden dat je het begrip "Geblokkeerd" onjuist interpreteert.
 
Laatst bewerkt:
Nu werkt deze weer niet.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("c7:c14")) Is Nothing And Not IsEmpty(Range("i1")) Then
Application.EnableEvents = False
   'range("a4").Resize(,3).ClearContents
   Range("A4").Offset(, Application.Match(Range("i1"), Array("V", "L", "N"), 0) - 1) = Range("c15").Value
 Application.EnableEvents = True
 End If
End Sub
 
1) Is je initiële vraag opgelost?

2) Werkt niet is erg kort door de bocht, dat zegt niks. Wat gebeurt er wel?
Heb je in de code van #13 gezien dat deze alleen wordt uitgevoerd als er iets in cel I1 staat?
Cel I1 maak je leeg middels de oplossing voor je initiële vraag.
 
Als een blad is beveiligd kan je er niks meer op wijzigen.
Ook niet vanuit VBA, tenzij je eerst de beveiliging opheft met ActiveSheet.UnProtect.
 
Cellen die niet op Geblokkeerd staan kan je dan wel wijzigen.
 
Waarom werkt het dan niet met de niet geblokkeerde cellen om leeg te maken als ik het blad beveilig.
 
Zie mijn laatste opmerking in #11.
Ook in je laatste geplaatste document staat bij alle cellen "Geblokkeerd" aangevinkt.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan