Shared document updaten dmv VBA

Status
Niet open voor verdere reacties.

Markjansen74

Gebruiker
Lid geworden
22 jul 2014
Berichten
12
Hoi,

Wij werken met meerdere mensen in een eenzelfde excel (shared). Probleem is echter dat wijzigingen voor de ander pas zichtbaar worden als het document wordt opgeslagen.
In een ideale wereld doen alle collega's wat je hen vraagt (document opslaan na toevoegen gegevens), maar in de praktijk blijkt dit toch wel heel moeilijk. Gevolg is dat wijzigingen voor elkaar niet zichtbaar zijn.

Nu ben ik naar een VBA-oplossing om ervoor te zorgen dat iedereen altijd alle inhoud (van alle gebruikers) ziet (dus update en refresh) , zonder dat iemand daar een specifieke handeling voor moet uitvoeren.

Bvd.

Groet,

Mark
 
Laatst bewerkt:
Is dit een oplossing?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveWorkbook.Save
End Sub
 
Is dit een oplossing?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveWorkbook.Save
End Sub

Dit komt in de buurt. Het refreshen gaat nu alleen niet vanzelf. Is daar ook iets voor te bedenken (bijv. refresh elke minuut)?
 
De code hoeft niet een refresh te hebben; elke keer als er wat verandert in het Werkblad slaat-ie dat op. En dat zou genoeg moeten zijn, want als er 18 minuten niks gebeurt, hoeft hij toch niet 18 keer tussendoor op te slaan?
 
Dat begrijp ik.
Maar wanneer gebruiker A het document geopend heeft en een wijziging heeft doorgevoerd (en deze dus direct zijn opgeslagen), dan zijn voor gebruiker B de door gebruiker A ingevoerde wijzigingen nog niet zichtbaar. Dit is pas het geval als gebruiker B het bestand opnieuw opent of opslaat (refreshed).

Ik zou graag willen dat een geopend bestand automatisch de opgeslagen wijzigingen van iemand anders laat zien.
 
Dan gebruik je dezelfde truc op de gebeurtenis SelectionChange:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.Calculate
End Sub
Of zoiets.
Maar ik zou niet standaard alles laten herberekenen, maar het laten afhangen van het gebruik door de users.
 
Ik heb de code vervangen, maar deze lijkt niets te doen wanneer iets is ingevuld.
Het betreft overigens een excel, waarin niet gerekend wordt; er worden slechts opmerkingen door meerdere mensen in geplaatst.
 
Rekenen is ook niet het probleem, en overigens doet Excel dat wel degelijk als je iets ergens intypt met dat commando. Want het hele werkblad wordt doorgerekend. Niet alleen de cel die is bewerkt. Maar ik gaf het als voorbeeld van een gebeurtenis waar je ook het bijwerken en opslaan mee kunt triggeren. Al worden gebruikers denk ik horendol als bij elke bewerking het document wordt opgeslagen. Je zou eens serieus moeten nadenken over de werkwijze, of die wel geschikt is voor de klus. Mij lijkt een database een heel wat betere oplossing.
 
Een database zou inderdaad het beste zijn, maar helaas beschikken niet alle medewerkers over access.... misschien toch maar eens voor gaan lobbyen.
In ieder geval bedankt voor je hulp en advies!
 
Je kunt de gratis Runtime uitrollen bij je medewerkers. Dan zet je de volledige applicatie alleen uit bij mensen die ontwikkelen. Doen wij ook op het werk. Werkt als een tierelier!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan