Verbergen van de rijnummers en kolomnummers

Status
Niet open voor verdere reacties.

masala09

Gebruiker
Lid geworden
6 aug 2012
Berichten
886
Simpel probleempje waar ik even mee stoei.


ActiveWindow.DisplayHeadings, werkt per worksheet. Ik heb deze geprobeerd in te voegen in ThisWorkbook om bij OPEN dit toch op ieder werkblad voor elkaar te krijgen, maar ik krijg het niet werkend.

Ik heb het volgende al geprobeerd.

Code:
Private Sub Workbook_Open()
    For i = 1 To Sheets.Count
        With ActiveWindow
            .DisplayHeadings = False
            .DisplayWorkbookTabs = False
        End With
        
    Next
        With Application
            .StatusBar = False
            .DisplayFormulaBar = False
            .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
            
        End With
    
End Sub

Ik wil dus het scherm zo goed als leeg hebben en alle functies verbergen en zelfs de toolbar uitschakelen. De wordt middels een macro in het menu instellingen weer geactiveerd. Alles wordt straks gedaan via knoppen en het is niet de bedoeling dat een ander op welke manier dan ook toch bij mijn gegevens kan.

Tevens wil ik de alt 11 ook uitschakelen, omdat men toch naar het VBA scherm kan. Je moet hier wel een wachtwoord invoeren, maar ik wil niet hebben dat men hier kan komen dan behalve wederom via het Instellingen menu in mijn bestand, dus niet via de toolbar Extra... blablabla.

Als de ALT 11 is uitgeschakeld dan moet deze wel te benaderen zijn via macro.
 
Laatst bewerkt:
Wat is op zo'n moment nog het nut van je werkboek?
Verder zeg je dat je dat DisplayHeadings = True niet werkend te krijgen is en in je voorbeeldcode zet je de waarde op False.
Dus, wat is nou de bedoeling?
 
Laatst bewerkt:
Laten we beginnen met dat ik het scherm volledig groot wil hebben en al het onnodige niet meer wil zien.

De headers zijn straks in het werkboek zelf niet meer nodig. Het zijn straks enkel nog maar invoervelden en doorverwijzingen naar een database en voorbeeld om uit te printen. Er wordt straks niet meer aan aangepast. Het geheel wordt dus straks een werkend bestandje van waar uit ik alles kan doen.

In het voorbeeld hoort deze ook op false te staan. Immers de headers mogen niet zichtbaar zijn. Stoor ik mij aan als ik ze toch niet meer gebruik. Pietje Precies he....;)

Heb meteen de eerste post even aangepast. Ik had even een copy..pasta...gedaan. hihi.
 
Laatst bewerkt:
Je voorbeeldcode is prima, wat gaat er dan niet goed?
 
Ik krijg maar op 1 blad dat headings verborgen staan. Bij de andere bladen staan ze er nog gewoon tenzij ik bewust de macro laat draaien op het tabblad die open staat op het moment dat ik in mij VBA project de macro proef laat draaien.

Alles werkt gewoon behalve de heading.

Heb overigens Excel 2007.
 
Laatst bewerkt:
Plaats tussen je For- Routine en 'With Activewindow':
Code:
Private Sub Workbook_Open()
    For i = 1 To Sheets.Count
    [COLOR="#FF0000"]Application.Goto Sheets(i).Cells(1)[/COLOR]        
        With ActiveWindow
            .DisplayHeadings = False
            .DisplayWorkbookTabs = False
        End With        
    Next

        With Application
            .StatusBar = False
            .DisplayFormulaBar = False
            .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"   
        End With    
End Sub
 
Laatst bewerkt:
Als je de weergave van een werkblad zo wil aanpassen dat het niet meer op een werkblad lijkt (zie de opmerking van Edmoor), kun je beter een userform gebruiken. Een echte pietje precies zoekt eerst of het wiel niet al voor hem is uitgevonden.
 
Snb, haha ja ik snap hem, maar zover zit ik er nog niet in. Het gaat er mij gewoon om dat ik, als ik het niet gebruik, mij er aan stoor. Ja je kan userforms gebruiken, maar ik weet nog lang niet hoe dat weg te schrijven. Komt misschien nog in een "update" haha.

Maar ef serieus werkt dat zo makkelijk dan?

Spaarie. Ik had al een vermoeden dat ik inderdaad iets met Sheets(i) moest doen. Ik had al geprobeerd met Sheets(i) with activewindow etc. Maar dat lukte al niet.
Ik ga het van jou eens uitproberen.

Update na invoeging en verdere uitwerking, werkt helaas niet.

Overigens springt het geheel het wachtwoord gedeelte voorbij. De code wordt niet afgemaakt en dus wordt het formulier ook niet opgeroepen.

Code:
Private Sub Workbook_Open()
        
        With Sheets("Wachtwoord")
            .Visible = True
            .Select
            .ScrollArea = "A1:V43"
        End With
        
        For i = 1 To Sheets.Count
        Application.Goto Sheets(i).Cells(1)
        With ActiveWindow
            .DisplayHeadings = False
            .DisplayWorkbookTabs = False
       End With
       
    Next
        With Application
            .StatusBar = False
            .DisplayFormulaBar = False
            .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
            .OnKey "%{F11}", ""
            .OnKey "%{F8}", ""
        End With
        
        frm_Wachtwoord.Show
        
End Sub
 
Laatst bewerkt:
Damned SNB nu zit ik daar weer aan te denken.... Zo komt het nooit af hihi. :confused:

Ik had echter niet in de gaten dat Edmoor dat wellicht op die manier bedoelde.

Klinkt wel interessant....
 
Snb, bedankt, maar dat gaat mij nog even boven mijn petje.

Even terug te komen op de headings over heel het werkboek. Hoe krijg ik deze in elk blad zonder headings. De oplossing van Spaarie was helaas geen oplossing.
 
Zet de code voor het verbergen van de headings in elk blad in het Worksheet_Activate() event.
 
Kijk Edmoor daar heb ik nu iets aan, maar moet ik nu ook niet iets met worksheet_deactivate() event doen?

Daarnaast kan deze opdracht ook verwijderd worden uit ThisWorkbook Open lijkt mij zo. Volgens mij is deze daar dan nu overbodig.

Kun jij mij dan ook uitleggen waar je die worksheet_activate event voor gebruikt per werkblad. Dat zijn toch instellingen per werkblad die dan geactiveerd moeten worden voor dat betreffende werkblad en dat je zo per werkblad verschillende instellingen en opdrachten kan maken etc.

Maar waarom pakt deze dan niet meteen in ThisWorkbook. Ik bedoel deze geldt toch voor het hele werkboek.
 
Laatst bewerkt:
Of je in de worksheet_deactivate() iets moet doen is afhankelijk van wat je zelf wilt, het is niet nodig m.b.t. de code in de worksheet_activate().

De code in de thisworkbook_open kun je zodanig wijzigen dat alleen het formulier wordt geopend.
Ook daar zet je het verbergen van de headings dan in de workbook_activate.

IK zou overigens een nieuwe sub maken met de naam HideHeadings met daarin de code om te verbergen wat je wilt. In iedere worksheet_activate zet je dan: Call HideHeadings.
Dat heeft als voordeel dat wanneer er aan het verbergen wat moet wijzigen, je dat maar op 1 plek hoeft te doen.
 
Laatst bewerkt:
Code is nu als volgt. Aanpassingen of opmerkingen indien nodig van harte welkom.

Code:
Private Sub WorkBook_Open()
        
        With Sheets("Wachtwoord")
            .Visible = True
            .Select
            .ScrollArea = "A1:V43"
        End With
   
        With ActiveWindow
            .DisplayHeadings = False
            .DisplayWorkbookTabs = False
        End With

        With Application
            .DisplayStatusBar = False
            .DisplayFormulaBar = False
            .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
            .OnKey "%{F8}", ""
            .OnKey "%{F11}", ""
        End With
        
        frm_Wachtwoord.Show
            
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

        With ActiveWindow
            .DisplayHeadings = True
            .DisplayWorkbookTabs = True
        End With
        
        With Application
            .DisplayStatusBar = True
            .DisplayFormulaBar = True
            .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
            .OnKey "%{F8}"
            .OnKey "%{F11}"
        End With
End Sub

Per werkblad (behalve de bladen met database

Code:
Private Sub Worksheet_Activate()

ActiveWindow.DisplayHeadings = False

End Sub
 
Laatst bewerkt:
Zie de derde alinea in m'n vorige post.
Maar als je huidige code voldoende voor je is moet je dat uiteraard zo laten.
De code in de BeforeClose is echter niet nodig als je heel Excel afsluit en niet alleen het huidige werkboek.
 
Laatst bewerkt:
Of je in de worksheet_deactivate() iets moet doen is afhankelijk van wat je zelf wilt, het is niet nodig m.b.t. de code in de worksheet_activate().

De code in de thisworkbook_open kun je zodanig wijzigen dat alleen het formulier wordt geopend.
Ook daar zet je het verbergen van de headings dan in de workbook_activate.

IK zou overigens een nieuwe sub maken met de naam HideHeadings met daarin de code om te verbergen wat je wilt. In iedere worksheet_activate zet je dan: Call HideHeadings.
Dat heeft als voordeel dat wanneer er aan het verbergen wat moet wijzigen, je dat maar op 1 plek hoeft te doen.

Hmmm bespaart veel type werk als de boel dan inderdaad gewijzigd moet worden. Maar ik begrijp even niet hoe jij dat dan bedoelt in mijn code.

Per werkboek is geen probleem. Daar ben ik nu al mee bezig. Sterker nog is al gedaan. Maar jij hebt het over openen van formulier.......
 
Met frm_Wachtwoord.Show open je een formulier. Dat laat je dan zo staan in de workbook_open.
 
Laatst bewerkt:
Zie de derde alinea in m'n vorige post.
Maar als je huidige code voldoende voor je is moet je dat uiteraard zo laten.
De code in de BeforeClose is echter niet nodig als je heel Excel afsluit en niet alleen het huidige werkboek.

Hier moet ik je wel even op corrigeren (als dat mag :rolleyes:). Ik ben het met je eens. Ik zat daar ook al over na te denken. Echter bepaalde instellingen moet ik wel terugzetten omdat dit anders van invloed is op het programma EXCEL. Bijvoorbeeld het uitschakelen van de formulebalk treft na afsluiten het programma zelf en staat dan in ieder excelbestand uit.
 
Uitaard mag dat.
Niemand weet alles, samen komen we een heel eind :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan