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

Celpointer in alle bladen naar een bepaald celadres

Status
Niet open voor verdere reacties.

duco243

Gebruiker
Lid geworden
8 jul 2009
Berichten
67
Hallo forumleden,

Wie kan mij helpen met het volgende:

Ik heb een werkmap met 50 werkbladen.
Regelmatig moet ik op een bepaald celadres iets invoeren maar dat moet ik dan op ieder blad doen.
Met alle bladen selecteren werkt het niet.
Voor het gemak zou ik een macro willen maken die de celpointer op elk blad op de positie zet die ik ga wijzigen.
Ik stel me dit voor:

Ik start de macro en er verschijnt een dialoogvenster
Ik geef daar het celadres in bijv. HZ90
Ik klik op OK en vervolgens zet de macro in alle bladen de celpointer in cel HZ90.

Heeft iemand hiervoor een code,


bvd

Duco
 
Zoiets in de ThisWorkbook sectie?
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    r = InputBox("Geef het adres in:")
    If r <> "" Then
        Application.Goto Range(r)
    End If
End Sub

Daarnaast kan je dat uiteraard gewoon in het naamvak links bovenin ingeven.
 
Laatst bewerkt:
Bedankt voor je reactie,
ik heb de code even getest maar het werkt niet zoals ik voor ogen heb.
Vraag was niet duidelijk genoeg denk ik.

Werrkmap heeft een tabblad "info" en 50 genummerde tabbladen (1 tm 50)
Ik wil namelijk op het blad "info" een button maken die na klikken een macro opstart waardoor er een dialoogvenster verschijnt waar ik dan bijv. LK50 invoer waarna op elk blad cel LK50 is geselecteerd.
Dus op elk blad (1 tm 50) dat ik daarna open zit ik meteen in cel LK50
Het invoerveld linksboven kan alleen gebruikt worden in het blad zelf en dan moet ik dit op elk blad doen, hiervoor zoek ik een snellere methode.


gr.

Duco
 
Op die manier.
Als je even een voorbeeld documentje plaatst komt dat in orde.
 
Blijkbaar heeft hij geen zin om een voorbeeld te plaatsen. Ik heb er dan maar mijn tijd ingestoken. Enkel vraag ik mij af waarom hij blad per blad gegevens wil invullen, daarom heb ik er een knop bijgezet die op alle bladeren in een te kiezen cel een waarde invult.


zonder twijfelen zijn er die de code kunnen verbeteren.
 

Bijlagen

  • ga naar cel.xlsm
    32 KB · Weergaven: 26
Hallo Edmoor en EMields,

Bedankt voor jullie moeite.
Gisteren was ik niet meer online daarom heb ik geen bestand gestuurd.
Met die button op dat infoblad dat is precies wat ik bedoelde, die andere button komt ook nog wel van pas maar dat kan ook door alle bladen te selecteren en op een blad de gegevens in te voeren.
Ik had die eerste oplossing nodig omdat ik gegevens aangeleverd krijg van 50 werkunits (blad 1 tm 50), maar al die gegevens verschillen van elkaar (maar moeten wel steeds op dezelfde plaats in elk blad worden ingevoerd en die plaats (celadres) kan, afhankelijk van de aard van de gegevens, ook steeds anders zijn. Bijv. de ene keer uren invoeren op alle bladen in KD5, de andere keer bedragen op alle bladen in G124

Nogmaals hartelijk dank voor de moeite en de oplossing

gr.

duco
 
Als het zo zit is dit misschien gemakkelijker.
 

Bijlagen

  • ga naar cel.xlsm
    39,4 KB · Weergaven: 22
Ik moet binnenkort iets vergelijkbaars maken dus had nu een goede testcase voor wat alternatieven.

Wat mij niet zo aanspreekt in jou voorbeeld / vraag is dat je toch steeds zelf naar het juiste tabblad moet klikken

Ik heb 2 opties gemaakt die de invoer kunnen versnellen. (let niet teveel op de opmaak, ging me meer om het concept)
beide hebben als voordeel dat je op het invoerblad blijft.

Optie 1
In Kolom A en B staat een voorbeeld met een lijst van alle 50 tabbladen onder elkaar.
Daarmee kun je snel waarden invoeren die naar het tabblad moeten
zodra alle te muteren waarden zijn ingevoerd klik je 1x op update alles en worden alle tabbladen voor de opgegeven muteer cel bijgewerkt.

Optie 2
In kolommen F tm I kun je de invoer per tabblad doen en meteen door laten voeren zodra cel H5 is ingevuld (eventmacro worksheet_change)
Er wordt in de kolommen L en M ook een invoerlog bijgehouden waarbij de laatst ingevoerde waarde en tabblad worden bijgehouden, zo heb je een snelle visuele check of de invoer correct is
Verder staan er wat checkboxen waarmee je de invoer kan reguleren.
De checkbox in celF5 bepaalt of de waarde in H5 wordt leeggemaakt na invoer van de laatste waarde. Dat voorkomt dat waarden per ongeluk naar een ook naar een ander werkblad worden weggeschreven.
en bij F4 checkbox of het werkbladnr ook wordt verwijderd zodat je zelf een nieuw tabblad kun kiezen als de invoer niet opvolgend is
terwijl je met de checkbox in cel I4 juist kan zorgen dat na invoer van een waarde het werkbladnr met 1 verhoogd wordt zodat je telkens alleen de waarde voor dat tabblad kunt invoeren.

Ook bij deze optie is het voordeel dat je niet steeds naar het werkblad hoeft te klikken en invoer doet vanaf hetzelfde tabblad

zie bijlage om wat te spelen met de opties..
 

Bijlagen

  • 50cellen vullen.xlsm
    34,7 KB · Weergaven: 19
Ja zeker wel, heb jij de mijne bekeken? daar zit een andere insteek achter..

Zo vult jou knop "op alle bladen een cel invullen" dezelfde waarde op alle tabbladen. dus dat heb ik niet nog een keer gemaakt.

Ik heb aanvullende opties gemaakt. Die zowel zijn gericht op snelle invoer als kunnen controleren wat je net gedaan hebt of gaat doen zonder meteen op het tabblad hoeft. Bij mij is het dus meer gericht op het invoeren van een (andere) waarde per tabblad / cel omdat ik me kan voorstellen dat als er van 50 werkunits uren binnen komen dat niet elke unit hetzelfde aantal uren inzend.
 
Om de celpointer op elk blad gelijk te zetten is volgens mij de vraag.

Code:
Sub VenA()
  t = InputBox("Geef het adres in:")
  If IsError(Evaluate("'" & Sheets(1).Name & "'!" & t)) Then Exit Sub
  For Each sh In Sheets
    Application.Goto sh.Range(t), True
  Next sh
  Application.Goto ActiveSheet.Range(t), True
End Sub

Waarom zoveel tabjes met eenduidige gegevens?
 
@VenA, je gaat met de lus naar elk blad, de laatste zal het actieve blad zijn.
Dit zal dus niet veel uithalen.
Code:
Application.Goto ActiveSheet.Range(t), True

Mijn voorstel.
Code:
Sub hsv()
Dim c As Range
On Error Resume Next
  Set c = Application.InputBox("Geef het adres in:", , , , , , , 8)
  For Each sh In Sheets
    Application.Goto sh.Range(c.Address), True
  Next sh
 Application.Goto c, True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan