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

Werkblad naar Werkblad kopieren, help!!

Status
Niet open voor verdere reacties.

Yacoub

Gebruiker
Lid geworden
19 apr 2011
Berichten
6
Goedemiddag allemaal,

Ik hoop dat jullie mij kunnen helpen want ik zit met het volgende probleem.

Ik heb voor mijn fictieve bedrijf (Schoolproject) een excel bestand waarin alle gegevens van het bedrijf staan vermeld. Nu wil ik in de eerste werkblad van excel een manier vinden om te kunnen koppelen naar andere werkbladen. Ik heb hierbij een soort 'menu' in gedachte waarbij men de naam van de werkblad moet intikken en waarbij ik vervolgens automatisch naar de betreffende werkblad ga.

In principe is dit eigenlijk overbodig aangezien men gewoon op werkbladen kan klikken, maar het oogt wel veel mooier. En daarnaast wil ik dit ook laten uitbreiden maar dit komt wel later.

Wie zou mij kunnen helpen met een code oid?

Bekijk bijlage Kruikjes.xlsx

Dus op het moment dat ik 'kas' invoer, dat ik dan automatisch wordt doorgestuurd naar de werkblad 'kas'.

Mijn dank is groot!
 
Laatst bewerkt:
Ik kan er ook voor kiezen om te zeggen dat het geen schoolproject is.. maar goed dat ter zijde.

Wat ik wil is informatie, om dit op te kunnen lossen. Als iemand mij in de juiste richting stuurt ben ik al een stap vooruit.
Alhoewel ik niet sterk ben met codes en macro's ga ik toch proberen om dit voor elkaar te krijgen.
 
Omdat je al heel ver bent met je bestand, en er verder geen opzet voor je gemaakt hoeft te worden.
In moduleblad Blad1.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$8" Then
With Application
  .EnableEvents = False
On Error GoTo einde
  .Goto Sheets(Target.Value).Range("A1")
  .EnableEvents = True
Exit Sub
einde: MsgBox "Dit blad bestaat niet", , "Verkeerd ingevoerd"
   .Goto Range("H8")
    Range("H8").ClearContents
   .EnableEvents = True
  End With
 End If
End Sub
 
HSV echt serieus ontzettend bedankt!! Hiermee kan ik verder, nogmaals thnx!
 
Graag gedaan,

Maak in cel H8 een validatielijstje van alle tabbladnamen om niet te hoeven typen in de cel.
 
Of met een Active-X combobox.
Met volgende code in ThisWorkbook
Code:
Private Sub Workbook_Open()
    For Each sh In Sheets
        c0 = c0 & sh.Name & "|"
    Next
    Blad1.ComboBox1.List = WorksheetFunction.Transpose(Split(c0, "|"))
End Sub

En onderstaande in de bladmodule van Blad1

Code:
Private Sub Worksheet_Activate()
  For Each sh In Sheets
    c0 = c0 & sh.Name & "|"
  Next
  Blad1.ComboBox1.List = WorksheetFunction.Transpose(Split(c0, "|"))
End Sub

Private Sub ComboBox1_Change()
    With Application
        .EnableEvents = False
        .Goto Sheets(ComboBox1.Value).Range("A1"), True
        .EnableEvents = True
    End With
End Sub
heb je steeds een geactuliseerde lijst van alle werkbladen.
 
@Rudi,

Transpose is hierbij overbodig.
Ook de lege listrij in de combobox kan er uit op onderstaande manier.
Code:
For Each sh In Sheets
        c0 = c0 & "|" & sh.Name
    Next
    Blad1.ComboBox1.List = Split(Mid(c0, 2), "|")
 
En zo haal je het menublad ook nog uit de lijst.:D
Code:
    For Each sh In Sheets
        If Not sh.Name = "Blad1" Then c0 = c0 & "|" & sh.Name
    Next
    Blad1.ComboBox1.List = Split(Mid(c0, 2), "|")
 
In principe is dit eigenlijk overbodig aangezien men gewoon op werkbladen kan klikken, maar het oogt wel veel mooier. En daarnaast wil ik dit ook laten uitbreiden maar dit komt wel later.
Mijn dank is groot!
Dat is bij deze dan gebeurd als Yacoub het allemaal nog kan volgen. :D
 
haha heren, allereerst echt enorm bedankt voor jullie reactie en bijdrage. Ik zie hier een aantal codes, waarmee ik lekker verder kan gaan. Zo leer ik ook nog eens iets bij haha TOP!! Bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan