Is het mogelijk om Objecten te kopiëren in een Userform? (Excel)

  • Onderwerp starter Onderwerp starter Wocky
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Wocky

Gebruiker
Lid geworden
22 feb 2014
Berichten
192
Beste,

Is het mogelijk om tijdens een procedure, objecten van een userform te kopiëren en te plakken in hetzelfde userform?
Zie afbeelding hieronder.

Als dit mogelijk is zou ik deze techniek graag gebruiken om een dynamisch userform te maken, waar o.a. dit soort objecten gekopieerd worden, afhankelijk van data dat gelezen wordt in een procedure.

Alvast bedankt
Wocky

3.jpg
 
Dat is een heel vreemd idee, en is denk ik ook nauwelijks te doen omdat je dan van alles moet gaan aanpassen op dat formulier: de grootte (je moet de nieuwe objecten kwijt), de plaats van de reeds bestaande knoppen (moeten opschuiven) etc. Ik zou de procedures en workflow eerst eens tegen het licht houden, want je begeeft je in een wespennest.
In een goed ontwikkeld systeem zou dit niet nodig hoeven te zijn.
 
Mja ik heb een document waarin ik een reeks titels hier en daar wil invullen... afhankelijk van hoeveelheid & soort wil ik een form maken die 1,2,..30 titels kan invoegen...
Titels die standaard gegenereerd worden, maar aangepast kunnen worden indien nodig.. en per titel dus een 3-tal textboxen die dus al dan niet verschijnen op het userform.

Inderdaad grootte van form e.d. dient aangepast te worden ifv hoeveelheid titels e.d.
Ik denk dat dit op zich nog wel mee valt om in code te schrijven.. weet dus alleen niet of je deze objecten kan kopiëren.

Wat ik wel kan doen is eventueel een 50-tal invulvakken maken.. en deze verbergen, dus pas tonen als ze nodig zijn.
En werken met een scrollbar...
Ik weet anders niet hoe aan te pakken.

Groeten Wocky.
 
Laatst bewerkt:
Je Zulu toch iets willen doen met die informatie... het lijkt mij onzinnig om een scherm vol te plempen met 30 ‘regels’ en bij sluiten van het formulier gebeurt er dan niks. Je wilt die informatie vast ergens wegschrijven.
In een Access database is jouw ‘probleem’ zo simpel op te lossen dat je de vraag echt niet gesteld zou hebben. In ieder geval niet in deze vorm. In Excel, wat uiteraard geen database programma is, wordt het een stuk lastiger. ‘Live’ een formulier bouwen, door dat steeds in de ontwerpmodus te openen en daar dan nieuwe velden lijkt mij niet de oplossing.

Zelf zou ik dan eerder denken aan een keuzelijst die je steeds verder vult met de gegevens die je vanuit één serie tekstvakken vult. Dus je vult een record in, drukt op <Opslaan> en het record wordt toegevoegd aan de keuzelijst, en de tekstvakken worden leeggemaakt zodat je de volgende kan invoeren. En zo ga je door tot je ze allemaal klaar hebt. Dan heb je ook geen probleem met het aantal records dat je wilt invoeren, want dan is er geen limiet van 30.

Dan nog zit je met de vraag: wat doe je met de ingevoerde data? Die kun je dan heel simpel vanuit de keuzelijst wegschrijven in een werkblad. Zoals ik al schreef: denk vanuit workflow en procedures.
 
Beste,

De initiële vraag was of het mogelijk is om dit soort objecten te kopiëren.
Is dus geen evidentie zo blijkt.
Van openen in ontwerpmodus heb ik nooit gesproken.

Het is net omdat ik aan workflow denk, dat ik het nodig acht een overzicht te hebben.
Het idee van de keuzelijst zou ook een optie zijn.

Alvast bedankt.
Wocky
 
Van openen in ontwerpmodus heb ik nooit gesproken.
Dat hoefde ook niet want het is de enige modus om op een formulier qua opbouw iets te veranderen. Je moet je formulier dus wel in Design view openen om überhaupt ook maar iets te kunnen veranderen op je formulier. Dus de techniek is echt bijzonder onhandig die je hebt bedacht.
Voordat je dit soort oplossingen bedenkt/maakt, moet je je dus echt serieus afvragen waarom je dat nodig hebt. En of het doel niet op een veel logischere manier bereikt kan worden.
In Access komt de vraag nog wel eens voorbij omdat sommigen hun formulieren aan de schermgrootte willen kunnen aanpassen. Dat gaat dan min of meer op dezelfde manier: formulier openen in Design view, objecten aanpassen en formulier opnieuw openen. Maar het grote verschil in Access is dat je data aan het formulier is gekoppeld en dat je dus je data gelijk beschikbaar hebt. In Excel bijvoorbeeld is dat onmogelijk. Dat formulier moet je dan eerst weer zien te vullen.
 
Je kunt een formulier met 30 label en tekstvakken maken warvan alleen de eerste 3 labels en tekstvakken zichtbaar zijn.
Afhankelijk van wat de gebruiker doeet kun je successievelijk meer label/tekstvakken zichtbaar maken: i.e. 'dynamisch'.

Of een combobox of listbox niet eenvoudiger is.... ?
 
Laatst bewerkt:
Het is prima mogelijk om in Excel een formulier dynamisch te vullen met controls. Hiervoor een formulier in Design View openen, is in Excel niet van toepassing. (@Octafish: op dat gebied verschilt Access nogal van Excel :))
Ik heb een klein voorbeeldje gemaakt waarin te zien is hoe je met VBA controls kunt toevoegen aan een leeg formulier.
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan