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

VBA scripts samenvoegen per worksheet

Status
Niet open voor verdere reacties.

Siafu

Gebruiker
Lid geworden
13 mrt 2018
Berichten
14
Hallo,

Allereerst excuses voor de misschien domme vraag!

Is er iemand die mij kan helpen bij het samenvoegen van verschillende scripts?
Ik heb twee VBA scripts voor het bestand welke apart van elkaar goed werken, maar zodra ik ze samenvoeg gaat het mis.

Het gaat om scripts op 3 plekken: ThisWorkbook, hoofdtab (oppervlakte maten) en de tabs die verborgen gaan worden.

Ik heb een lijst gemaakt per "tab" met de scripts welke samengevoegd moeten worden.
Ik hoop dat dit duidelijk genoeg is eerst, anders stuur ik een voorbeeld bestand (veel werk om het bestand toonbaar te maken). Het eerste deel van het script is elke keer voor het auto verbergen van tabbladen en het tweede deel script voor het verbergen van regels.



Oppervlakte maten (tabbladnaam) script:
Automatisch tabs verbergen en tevoorschijn halen bij activeren:


Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("8:8")) Is Nothing Then
With Sheets(Target.Value)
.Visible = True
.Select
End With
End If
End Sub

Regels automatisch verbergen bij lege cellen:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
For Each b In Range("b11:b80,b84:b153,b157:b226,b230:b299,b303:b372")
Rows(b.Row).Hidden = IIf(b.Value = 0, True, False)
Next
Application.ScreenUpdating = True
End Sub


Script op betreffende tabbladen (welke verborgen worden):
Automatisch tabs verbergen en tevoorschijn halen bij activeren:

Option Explicit

SAMEN MET:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
For Each b In Range("b11:b80,b84:b153,b157:b226,b230:b299,b303:b372")
Rows(b.Row).Hidden = IIf(b.Value = 0, True, False)
Next
Application.ScreenUpdating = True
End Sub



This workbook script:
Automatisch tabs verbergen en tevoorschijn halen bij activeren (bevat enkel het scriptdeel voor het verbergen van tabs! is dus al klaar denk ik?):

Option Explicit

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Index <> 1 Then
Sh.Visible = False
End If
End Sub



Het zou fijn zijn als iemand mij kan en wil helpen!

Mvg, Frank
 
Laatst bewerkt:
Het zou fijn zijn als iemand mij kan en wil helpen!
Het zou fijn zijn moest je een voorbeeld bestandje posten en je code tussen code tags zetten.
Zo?
Code:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("8:8")) Is Nothing Then
Sheets(Target.Value).Visible = True
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
For Each b In Range("b11:b80,b84:b153,b157:b226,b230:b299,b303:b372")
Rows(b.Row).Hidden = IIf(b.Value = 0, True, False)
Next
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Index <> 1 Then Sh.Visible = False
End Sub
 
In principe is dat wel wat er moet gebeuren, de scripts moeten per tabblad samenwerken.
Ik heb het bestand waarin het moet gebeuren er toch maar even bij gepakt (geüpload).

Het doel:
Oppervlaktematen blijft altijd zichtbaar (Hoofd tabblad)
Waardenblad blijft altijd zichtbaar
Ruimten blijft altijd zichtbaar
Huurder blijft altijd zichtbaar

Dan komen de "factoren":

Schalmgat
Lift
Sep wanden
Scheidingsconstr.
Niet-toegank. leiding
Statische bouwdelen
Glaslijn
Vide
Trap
Vert. verkeer
Geb. installaties

Deze tabs moeten in principe verborgen zijn en enkel zichtbaar worden als er in het hoofdblad (Oppervlakte maten) op de bijpassende naam geklikt wordt (regel 8, benaming komt overeen met de tabbladen) (op dit moment wordt het nog met hyperlinks gedaan maar blijven alle tabs zichtbaar (kan onzichtbare tabs niet benaderen zonder script?).

Daarnaast moeten de tabs: projectgegevens, MEETSTAAT en 133 zichtbaar blijven.

Zoals in het bestand duidelijk is, gooit hij alle tabs dicht (los van de tabs die al verborgen zijn) zodra je er op klikt.
Is het idee zo duidelijk genoeg?

EDIT*: Zoals misschien zichtbaar is, is er ook een script welke automatisch regels verbergt op verschillende tabs op het moment dat er in het tab Ruimten geen waarden wordt ingevoerd in de betreffende cellen.


Indien de topic titel aangepast moet/kan worden dan kan dit gewoon hoor.

Mvg,
Frank
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan