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

Naar ander tabblad beveiligen

Status
Niet open voor verdere reacties.

vrouw

Terugkerende gebruiker
Lid geworden
27 mrt 2010
Berichten
1.434
Ik wil een beveiliging maken dat het niet mogelijk is als er in (Tabblad2)Sheet2 in cellen
A4:Q10 geen data staat er niet naar (Tabblad1)Sheet1 gegaan kan worden.
Is dat mogelijk in VBA?
 
Zet dit achter blad1 en het zou moeten lukken:

Code:
Private Sub Worksheet_Activate()
If WorksheetFunction.CountBlank(Sheets(2).Range("A4:Q10")) > 0 Then Sheets(2).Activate
End Sub
 
En deze zet ik dan in Sheet2 of in een aparte module?
 
Neen, niet in een module maar achter blad1, het is een event.
 
Waar ik hem ook zet het wil niet werken.
Ik kan nog steeds tussen de tabbladen switchen
 
Ik heb het in een bestandje gezet en probeer nu maar eens naar Blad1 te switchen zolang de ontbrekende cel leeg is.
 

Bijlagen

  • vrouw.xls
    23 KB · Weergaven: 17
Thanks, maar....

OOK als ik blad 2 van je bestandje leeg maak kom ik ook niet in blad 1:confused:
Het is de bedoeling als er in blad 2 data staat je wel naar blad1 kan en anders niet
 
Laatst bewerkt:
A4:Q10 geen data staat er niet naar (Tabblad1)Sheet1 gegaan kan worden.
Je moet wel weten wat je wil, ik kan dat niet gokken.

Beschrijf eens echt wat je wil bereiken.
 
Laatst bewerkt:
Excuus als ik niet duidelijk ben geweest, ik ga het nog eens proberen. Ben al blij dat je wilt helpen.:love:
Als op blad2 de cellen A4:Q10 leeg zijn mag er niet naar blad 1 gegaan kunnen worden.
Zodra er wel wat staat in blad 2 mag het weer wel.
 
Dus als er één cel is ingevuld binnen dat bereik mag er geswitchd worden?

Code:
Private Sub Worksheet_Activate()
  Application.ScreenUpdating = False
    If WorksheetFunction.CountBlank(Sheets(2).Range("A4:Q10")) = 119 Then Sheets(2).Activate
  Application.ScreenUpdating = True
End Sub
 
Top, dat ziet er goed uit.

En met een popupje erbij van de melding dat er niet blad 1 kan omdat er geen data in blad 2 staat is dat ook mogelijk?:eek:
 
De tekst kan je wel aanpassen, hé?

Code:
Private Sub Worksheet_Activate()
  Application.ScreenUpdating = False
    If WorksheetFunction.CountBlank(Sheets(2).Range("A4:Q10")) = 119 Then
      Sheets(2).Activate
       MsgBox ("Er ontbreekt input in bereik A4:Q10 breng dat even in orde, wil je?")
        Exit Sub
    End If
  Application.ScreenUpdating = True
End Sub
 
Jaa, natuurlijk gaat dat lukken.
Mijn hartelijke dank voor deze supersnelle hulp. Shapoo!!:thumb:
 
:eek:Toch weer even terug bij af.:eek:

Ik probeer het nu op een ander pc(werk)en daar wil het weer niet lukken. Komt dat misschien omdat ik daar een andere versie (2003) en engelse versie heb.
blad2 is leeg en toch kan ik naar blad1 dat zou niet moeten kunnen toch:cool:
Bekijk bijlage Book5.xls
 
Nochtans kan ik niet naar blad1 zonder gegevens in te vullen in blad2(binnen het bereik).
Zijn je macro's niet actief(veiligheid op hoog)?

Macro-code is altijd Engels enkel de teksten die te voorschijn komen kan je in uw eigen taal zetten.
Ook is zo'n eenvoudige code niet versie-afhankelijk.
 
Hmm vreemd, nu doet die het wel ineens... ik heb daar wel vaker last van dat een macro het eerst niet doet en late wel weer ineens. heel vaag.

Als mijn tabbladen een andere naam hebben(in het bestand waar ik deze macro in ga verwerken) moet ik die dan ook in de code aanpassen?

EDIT: Geprobeerd en heeft geen invloed op de macro
 
Laatst bewerkt:
Dat klopt, je moet er enkel op letten dat het blad met het bereik A4:Q10 op blad2 staat anders werkt het niet.
 
Had ik gemerkt ja, want bij mij gaat het in het werkelijke bestand om blad 3 en dat heb ik aangepast in de macro.

Nogmaals mijn dank, Super.
 
Ha, ben ik alweer...
het blokkeren van dat tabblad gaat goed maar toch laat ie hem wel zien.(snap je?) en na klikken op de OK knop ga je weer terug naar blad 2.
Is het aan te passen dat ie ook blad 1 niet laat zien maar je echt IN blad 2 blijft?
 
Beter dan deze krijg ik hem voorlopig niet:

Code:
Private Sub Worksheet_Deactivate()
  Sheets(2).Activate
   Application.ScreenUpdating = False
     If WorksheetFunction.CountBlank(Sheets(2).Range("A4:Q10")) = 119 Then
      Sheets(2).Activate
       MsgBox ("Er ontbreekt input in bereik A4:Q10 breng dat even in orde, wil je?")
        Exit Sub
    End If
  Application.ScreenUpdating = True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan