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

scrollbars per werkblad instellen

Status
Niet open voor verdere reacties.

Bospeen

Gebruiker
Lid geworden
23 aug 2005
Berichten
150
is het mogelijk om de aan-/afwezigheid van scrollbars per werkblad in te stellen?
 
Hoi Bospeen,

Rechtsklikken op bladtab, en kiezen voor 'programmacode weergeven'.

Daar plak je volgende code voor bladeren mét Scrollbars:

Private Sub Worksheet_Activate()
With ActiveWindow
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
End With
End Sub

En deze code voor bladeren zonder Scrollbars:

Private Sub Worksheet_Activate()
With ActiveWindow
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
End With
End Sub
 
macroproblemen zonder scrollbars???

Beste Luc,

Ik heb in mijn spreadsheet diverse werkbladen met/zonder scrollbars gemaakt (gebruikmakend van jouw codes). Dat werkt op zich prima.
Maar nu werken vreemdgenoeg sommige macro's niet meer correct. Vreemd in die zin dat de foutopsporing niks te maken lijkt te hebben met de aansturing van de scrollbars, maar met het plakken van waarden.
Bijvoorbeeld de volgende macro... (het gaat fout bij de laatste regel: Selection.PasteSpecial...etc.)

Application.ScreenUpdating = False
Range("A100:Ez100").Select
Selection.Copy
Sheets("opgeslagen").Select
Range("A1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
 
Bospeen,

Kan het zijn dat Kolom A van Blad "opgeslagen" leeg is?

Zo ja, vervang dan End(xlDown) door End(xlUp)
 
Kolom A is niet leeg, in A1 en A2 staat tekst.
De macro werkte prima voordat ik her en der scrollbars op de diverse tabbladen heb verborgen.
Deze macro zorgt ervoor dat "records" van een ander tabblad in kolom A worden opgeslagen, de benodigde waarde wordt telkens in de eerstvolgende lege cel geplaatst.
Een andere macro geeft overigens dezelfde foutopsporing (bij het plakken speciaal).
 
Klassiek probleem: vermijd Select; Selection en Activate.

Nu is het zo dat je via de ene macro de andere aktiveert... en daar zit hem vermoedelijk het probleem: welke macro wordt verder uitgevoerd?

Application.ScreenUpdating = False
Range("A100:Ez100").Copy _
Sheets("opgeslagen"). _
Range("A1").End(xlDown).Offset(1, 0)

Luc
 
De andere macro waarbij ik dezelfde foutmelding krijg, is de volgende:

Application.ScreenUpdating = False
Sheets("opgeslagen").Select
Range("A3:EV65535").Select
Selection.Copy
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollColumn = 2
Sheets("weging").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Selection.Sort Key1:=Range("EX3"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
Sheets("opgeslagen").Select
Range("A1").Select
Sheets("selectie").Select
Range("a1").Select
End Sub

Het "klassieke probleem" (vermijden van Select, Selection en Activate) is mij niet bekend. Ik ben niet zover met VB dat ik zelf de hele macro kan maken en gebruik dus veel de recorder... met alle gevolgen van dien.

De beide macro's die de foutmelding geven bij

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

verwijzen niet naar elkaar.
Ik heb geen idee wat er fout gaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan