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

worksheets verbergen

Status
Niet open voor verdere reacties.

nobeleyes

Gebruiker
Lid geworden
22 okt 2013
Berichten
47
Hoi
Ik werk met excel 2010.
Ik ben momenteel bezig met een projectje.
Graag wil ik dat er een paar dingen gebeuren... zelf snap en weet ik niet hoe ik dat moet doen:

als ik het bestand opstart moet hij altijd op de eerste sheet starten -> opgelost zie hieronder
graag wil ik alle sheettabs onzichtbaar maken, ik heb op de eerste pagina een aantal knoppen gemaakt, enkel naar deze sheets mogen de gebruikers toegaan -> opgelost zie hieronder

Bestaat er een mogelijkheid om (via VBA of iets anders) via een knop de sheettabs terug zichtbaar te maken (als je op deze knop drukt moet er een paswoord ingevuld worden) -> opgelost zie hieronder

Enkel deze nog:
4) Op de eerste pagina wil een knop zetten die het document opslaat met een standaard naam + de datum + het uur in een bepaalde map.
vb document naam is: test
als er op de knop gedrukt wordt krijgt het document de naam: test_27122013_23u09

Ik weet het een heleboel vraagjes maar jullie zouden me reuze vooruit kunnen helpen...
De eerste drie zijn al opgelost, enkel de laatste nog
Alvast een dikke merci
 
Laatst bewerkt:
De eerste vraag heb ik al opgelost gekregen:

Private Sub Workbook_Open()
Sheets("naam van de pagina waar hij mee moet starten").Activate
End Sub
-> plaats deze code in ThisWorkbook
Ik probeer zelf verder voor de volgende vragen, ik hoop dat jullie willen meedoen :)
 
Laatst bewerkt:
Oplossing voor vraag 2 heb ik ook gevonden:

Private Sub Workbook_Open()
Sheets("Startpagina").Activate

' sh As Variant
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> Sheets("Startpagina").Name Then
sh.Visible = False

End If
Next sh

End Sub

Het gekleurde gedeelte heb ik toegevoegd aan de code in ThisWorkbook
 
Laatst bewerkt:
Oploosing voor vraag 3 heb ik deels gevonden.... de VBA loopt vast...
wat doe ik fout????

Private Sub CommandButton1_Click()
x = InputBox("Uw wachtwoord a.u.b...", "Wachtwoord vereist.")

If x <> "wachtwoord" Then

MsgBox "Wachtwoord niet correct!...."
End If
If x = "wachtwoord" Then
For Each sh In ThisWorkbook.Worksheets
sh.Visible = True


End Sub
 
Code:
Private Sub CommandButton1_Click()

    If InputBox("Uw wachtwoord a.u.b...", "Wachtwoord vereist.") <> "wachtwoord" Then MsgBox "Wachtwoord niet correct!....": Exit Sub
    For Each sh In ThisWorkbook.Worksheets
        sh.Visible = True
    Next
    
End Sub
 
Bedankt Warm bakkertje

Private Sub CommandButton1_Click()

If InputBox("Uw wachtwoord a.u.b...", "Wachtwoord vereist.") <> "wachtwoord" Then MsgBox "Wachtwoord niet correct!....": Exit Sub
For Each sh In ThisWorkbook.Worksheets
sh.Visible = True
Next

End Sub
Dat is het helemaal...
Zie nu ook waar ik fouten gemaakt heb ....

Er schiet nog maar 1 vraagje over:

Op de eerste pagina wil een knop zetten die het document opslaat met de standaard naam + de datum + het uur in een bepaalde map. vb document naam is: test
als er op de knop gedrukt wordt krijgt het document de naam: test_27122013_23u09
Hier geraak ik echt niet uit wijs...
Wie wel?
 
nobeleyes,

Kijk hier eens daar staat ook code van Warme bakkertje voor PDF maar dat kun je misschien wel omzetten.
 
Daar wil ik straks wel even mee aan de slag gaan...

Loop nu vast op iets raar....

Ik heb zoals hierboven de werkbladen geblokkeerd:
Private Sub Workbook_Open()
Sheets("Startpagina").Activate

' sh As Variant
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> Sheets("Startpagina").Name Then
sh.Visible = False
End If
Next sh

End Sub
Deze staat in ThisWorkbook

Op mijn startpagina staan een aantal knoppen naar de werkbladen.

Voorbeeldje om een knop te activeren:
Private Sub CommandButton1_Click()
' Knop ga naar werkblad 2Macro
Sheets("werkblad 2").Select
End Sub

Nu werkt dit niet..... enkel als ik de werkbladen zichtbaar maak werkt ie wel...

Wie weet raad?????
 
Dat is niet raar, dat is normaal; waar dient het verbergen van bladen anders voor?
Maar wat wil je bereiken met je laatste stukje, dat blad2 zichtbaar wordt en dat erin dat blad een macro wordt uitgevoerd? Indien ja, dan moet je eerst blad 2 zichtbaar maken: sheets("werkblad2").visible = true (als werkblad2 de naam is van dat blad, wat je in je bericht doet veronderstellen).
 
Mercikes,

probleem is zo opgelost...

Nu nog de laatste vraag:
Op de eerste pagina wil een knop zetten die het document opslaat met de standaard naam + de datum + het uur in een bepaalde map. vb document naam is: test
als er op de knop gedrukt wordt krijgt het document de naam: test_27122013_23u09

Ik ga even aan de slag met het voorstel van ExcelAmateur

Als het lukt post ik hem hier....

Ander kom ik nog even om raad vragen...

bedankt alvast
 
ben begonnen met een poging op via de knop op te slaan...

Maar er zijn me een heel deel dingen onduidelijk:

Document opslaan met bestaande naam + datum + tijd

Sub SaveAsfilenamexlsm()
' Document opslaan met bestaande naam(zonder de vastgehechte datum en tijd) + huidige datum + huidige tijd

ActiveWorkbook.SaveAs Filename:=_
"E:\" & hoe zet ik hier de huidige naam van het document - het jaartal en het uur dat er aan vasthangt , "yyyymmdd” &_”hhmm"is dit de correcte manier om de datum en het uur te vermelden met een underscore ertussen?) & ".xlsm", Quality:= _
xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With
End Sub

er loopt nog een heel deel mis... wie helpt me op weg???
 
Laatst bewerkt:
Code:
ActiveWorkbook.SaveAs "E:\" & ThisWorkbook.Name & "_" & Format(Date, "ddmmyyyy") & "_" & Format(Time, "hh" & "u" & "mm"), 52
 
Ik heb volgende code ingevuld....

maar helaas er gebeurd niets...

Private Sub CommandButton1_Click_SaveAsfilenamexlsm()

' Document opslaan met bestaande naam(zonder de vastgehechte datum en tijd) + huidige datum + huidige tijd
ActiveWorkbook.SaveAs "C:\Users\peter\Desktop" & ThisWorkbook.Name & "_" & Format(Date, "ddmmyyyy") & "_" & Format(Time, "hh" & "u" & "mm"), 52 & ".xlsm"

MsgBox "document is opgeslaan"
End Sub

wie weet er raad???
 
Je moet de aangeboden code wel exact overnemen en er niets bij maken.
Het laatste wat je erbij gezet heeft moet je weg halen.
 
Deze code gebruik ik nu:

Private Sub CommandButton1_Click()

' Document opslaan met bestaande naam(zonder de vastgehechte datum en tijd) + huidige datum + huidige tijd
ActiveWorkbook.SaveAs "C:\Users\peter\Desktop" & ThisWorkbook.Name & "_" & Format(Date, "ddmmyyyy") & "_" & Format(Time, "hh" & "u" & "mm"), 52

MsgBox "document is opgeslaan"
End Sub

Het document wordt opgeslaan maar...

Het document had als naam eerst: test opslaan als
Nu wordt het desktoptest opslaan als

maar er is nog meer aan de hand:
Het document dat wordt opgeslaan ziet als naam als volgt uit:

Desktoptest opslaan als.xlsx_28122013_23u34 -> de extensie staat op een verkeerde plaats (en is een xlsx, maar zou dit niet beter een xlsm zijn (daar er verschillende macro's inzitten)

in bjlage voorbeeldje van het opgeslaan document en het excel bestand

Bekijk bijlage desktoptest opslaan als.xlsm

afbeelding opgeslaan document.JPG

Wie weet raad? ik zie het echt niet

bedankt alvast
 
Code:
 With ActiveWorkbook
    .SaveAs "C:\Users\peter\Desktop\" & CreateObject("Scripting.FileSystemObject").GetBaseName(.Name) & _
            "_" & Format(Date, "ddmmyyyy") & "_" & Format(Time, "hh" & "u" & "mm"), 52
 End With
 
Warme bakkertje
Deze werkt bijna zoals ik het wil...
Hij slaat inderdaad op met uur en datum.

De bedoeling is dat ze telkens met de laatste verder werken...
Als ik de laatste open, dan slaat hij perfect op maar delete de vorige datum en tijd niet....

Ik ga dan een ontzettend lange bestandnaam krijgen.......
Is er een mogelijkheid om er voor te zorgen dat de datum en tijd uit de vorige bestandnaam verwijderd wordt?

thanks
 
Zet dan ipv het hele CreateObject-stuk een standaardnaam tussen aanhalingstekens en klaar is kees.
 
With ActiveWorkbook
.SaveAs "C:\Users\peter\Desktop\" & "filename" & _
"_" & Format(Date, "ddmmyyyy") & "_" & Format(Time, "hh" & "u" & "mm"), 52
End With

Deze heb ik er van gemaakt...

En Ja hoor ik denk dat ie werkt...

Heb nog een vraagje, wat doel heeft het cijfer 52 achteraan?
 
De code achteraan geeft het type bestand aan.
51 is .XLSX
52 is .XLSM
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan