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

Drop-down menu

Status
Niet open voor verdere reacties.

dartfreak1987

Gebruiker
Lid geworden
3 feb 2014
Berichten
65
Hallo

Ik heb even een vraag
is het mogelijk om via een drop-down menu een complete werkmap te selecteren
En dan via een bepaalde waarde in een cel een bepaald werkblad uit die werkmap te selecteren

ik heb namelijk meerdere toernooi programma's en die zijn best groot
en nu is dus de bedoeling dat ik via het drop-down menu het soort toernooi selecteer
en dan via een waarde een tabblad hier uit kopieer en op een nieuw tabblad plaatst in de werkmap met het drop-down menu

als dit mogelijk is Via formule of macro hoor ik het graag
en dan plaat ik ook wel even een voorbeeld van alle bestanden die dan gekoppeld moeten worden

alvast bedankt
 
Hoi,
Volgens mij met volgende bijlage. (zonder vbtje)
Hoe ga je te werk
Pas eerst het rode gedeelte aan

Code:
FilePath = "[COLOR="#FF0000"]C:\Users\Grote\Documents\Toernooibestanden\[/COLOR]"
Ik heb dit bestandje de naam Lijst van toernooien gegeven, indien je de naam verandert pas dan ook het volgende rode gedeelte aan
Code:
 ActiveSheet.Copy After:=Workbooks("[COLOR="#FF0000"]Lijst van toernooien.xlsb[/COLOR]").Sheets(1)
Open het bestand en klik op zoek (als het over een groot aantal betanden gaat kan het wel eventjes duren voor de macro klaar is)
Je krijgt een userform met 2 listboxes, in het linker gedeelte DUBBELklik je het gewenste bestand. In het rechter gedeelte zie je dan de beschikbare werkbladen. Klik op het gewenste werkblad en druk nadien op de knop [Kopieër gekozen werkblad]
 

Bijlagen

bedankt

Maar ik krijg het niet aangepast
en het is niet echt wat ik me ervan voorgesteld heb

ik heb een voor beeld gemaakt van hoe ik het in gedachte had
Bekijk bijlage Toernooi programma 1.xls

de bedoeling is:

Zodra de inschrijvingen gedaan zijn.
is het de bedoeling dat via titel toernooi het nieuwe tabblad die naam krijgt
daarna via het drop-down menu selecteer ik het soort toernooi
dan wordt de loting gedaan
en als ik dan op aanmaken klik dat hij dan via het aantal deelnemers het juiste tabblad uit een andere werkmap haalt en op het nieuwe tabblad plaatst

wat werkt al

de loting
automatisch het aantal deelnemers invoeren
prijzengeld berekening

ik zoek dus alleen de macro voor het aanmaken van het nieuwe tabblad met de indeling erop
dit mag ook al een vast tabblad zijn die veranderd zodra ik op aanmaken klik
 
Laatst bewerkt:
Hoi,
Post eens een vb van uw toernooibladen en inschrijvingsblad
 
Voor wat heb je eigenlijk een voorbeeld van mijn toernooi programma's nodig?
volgens mij is dat niet van toepassing

ik geef ze namelijk niet graag uit handen
ondat het nog in ontwikkeling is

want volgens mij is het toch ook mogelijk om zelf een voorbeeld te maken met genummerde tabbladen
en die onder verschillende namen op te slaan
en hem zo te proberen

als het echt van belang is wil ik ze gerust erop zetten
maar dan is het wel maar van elk een paar bladen
 
Laatst bewerkt:
Hoi,
voor mij hoeft het niet, ik probeer mij alleen een totaal beeld te vormen, zoals bij inschrijvingen neem ik aan dat je inschrijft op namen ipv nummers en het loten ook namen zijn. of het verschil tussen open UK en enkel OK bv
Ik dacht dat het over 8 bladen ging en het makkelijker zou zijn om doelgerichter iets in een macrootje te gieten maar blijkbaar heb ik het helemaal verkeerd voor
 
het is inderdaad niet zo makkelijk als je denkt
ik heb voor elk soort toernooi een aparte werkmap
en in elke werkmap staan tabbladen gekoppeld aan het aantal deelnemers
alles is t/m 128 deelnemers op het moment
maar ben aan het uitbreiden en aan het aanpassen en verbeteringen erin aan het maken
maar bijvoorbeeld mijn map met poules is 40 mb groot
en met opslaan duurt dat nog wel eens lang
vooral als ik 2 of 3 toernooien tegelijk heb lopen
vandaar dat ik dus dit als oplossing zoek
zodat het een kleiner bestand is om op te slaan

en inderdaad doe ik inschrijven met namen en de namen worden ook geloot
als het goed is moet dit werkend zijn in mijn voorbeeld
als je de nummers doet veranderen in namen moet hij ook noeg werken
 
Laatst bewerkt:
Hoi,
Ik heb ergens een ideetje, over hoeveel verschillende tabbladen spreken we?
en als ik dit lees neem ik aan dat je van ieder tabblad een blanco niet ingevuld vb hebt alleen de indeling, klopt dit?
ik zoek dus alleen de macro voor het aanmaken van het nieuwe tabblad met de indeling erop
 
we praten op het moment over meer dan 1000 tabbladen
8 toernooien bestaand uit 128 deelnemers
en helaas heb ik nergens een legen (dus alleen opmaak)
overal zijn de formules ingevoerd
maar nergens zijn namen ingevoerd
alleen de vrijloten staan er al in
 
Hoi,
Formules zijn niet het probleem, ik bedoel alleen een blanco werkblad zonder ingevulde gegevens zoals namen van spelers, datum van het toernooi, etc
En 1000 tabbladen? Als je nu een toernooi hebt zeg maar uk open en 128 deelnemers moeten dan 128 lege tabladen geopend worden in uw vb bestand of 1, namelijk uk open of moet je ergens 1 blad openen via een keuze uit de 1000 mogelijkheden?
 
hij moet dan 1 tabblad open uit een mogelijkheid van 128 uit de werkmap uk open

ik zat te denken aan iets als dit

is als drop=down is poule's van 4 selecteer werkmap poule's van 4 c\users\toernooileiding\poules van 4.xls
is als drop=down is poule's van 5 selecteer werkmap poule's van 5
is als drop=down is dubbel ko selecteer werkmap dubbel ko
is als drop=down is a-b ronde selecteer werkmap a-b ronde
is als drop=down is uk open style selecteer werkmap uk open style

en dan
nummer cel l5 is tabblad nummer

kopieer tabblad naar nieuw tabblad in actieve werkmap

is dit een idee?
 
Laatst bewerkt:
Verwijder de samengevoegde cellen in blad "inschrijving", anders werkt er namelijk geen code.

Test het dan maar eens.
Code:
Sub hsv()
Dim Wb As Object
Set Wb = ThisWorkbook.Sheets("inschrijving")
With GetObject("[COLOR=#3E3E3E]c\users\toernooileiding\[/COLOR]" & Wb.range("j19").value & ".xls")
 ThisWorkbook.Sheets.Add(, Sheets(ThisWorkbook.Sheets.Count)).Name = Wb.Range("j13").Value
  .Sheets(Wb.Range("I5").Value).UsedRange.Copy ThisWorkbook.Sheets(Wb.Range("j13").Value).Range(.Sheets(Wb.Range("I5").Value).UsedRange.Address)
  .Close
 End With
End Sub
 
bedankt
maar ik krijg een foutmelding

dit geeft die als foutmelding in het geel aan

With GetObject("c\users\toernooileiding" & Wb.range("j19").value & ".xls")
 
Heb je de samengevoegde cel wel verwijderd in J19?

Ook is die coderegel niet zoals ik het heb geschreven.
 
Laatst bewerkt:
Bedankt

dit werkt nu
maar ik zit nu met het probleem dat de macro's wat ik in het originele bestand had staan het niet meer doen
en dat hij de inschrijvingen niet doet doorzetten
en de opmaak is helemaal weg

dit is dus een voorbeeld bestand van mijn a-b ronde met 2 macro's
Bekijk bijlage A - B Ronde.xls

hoe krijg ik dus nu dat die de inschrijvingen van mijn inschrijflijst overneemt
dat de macro's worden overgenomen zonder het originele bestand te openen
en dat hij de opmaak mee overneemt

tevens heb ik wel eens meerdere toernooien tegelijk
dus mijn bedoeling was dus om het tabblad inschrijvingen een paar keer in de werkmap te hebben staan
hoe kan ik dit oplossen met de inschrijvingen
 
Laatst bewerkt:
Het kopieert een op een, dus ook de opmaak (vreemd dat het niet gaat bij jou), maar geen modules met codes.
 
Het kopieert een op een, dus ook de opmaak (vreemd dat het niet gaat bij jou), maar geen modules met codes.

ik heb het over cel grote, verborgen cellen en vastgezette rijen
is hier een oplossing voor zodat hij het overneemt zoals in het origineel?
tevens hoe kan ik dit met de macro's dan oplossen?
 
Tot zover de opmaak en dergelijke.
Code:
Sub hsv()
Dim Wb As Object
Set Wb = ThisWorkbook.Sheets("inschrijving")
With GetObject("[COLOR=#3E3E3E][COLOR=#3E3E3E]c\users\toernooileiding\[/COLOR][/COLOR]" & Wb.Range("j19") & ".xls")
  .Sheets(Wb.Range("I5").Value).Copy , ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    ActiveSheet.Name = Wb.Range("I5").Value
  .Close
 End With
End Sub

De macro's moet ik nog maar eens uitvogelen, maar ik geef weinig hoop.
 
voor de macros zat ik te denken om ze vast te zetten in de werkmap op een verborgen tabblad
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan