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

Popup waarbij gegevens worden weergegeven mbv vloopup

Status
Niet open voor verdere reacties.

skystormer

Gebruiker
Lid geworden
8 mrt 2011
Berichten
200
Beste,

Sorry dat ik jullie weer moet lastig vallen. Wetende dat ik iets aan het maken ben wat over my head is. Maar het toch wil doen om toch kennis op te doen.

Heb even een simpel bestand gemaakt met daarin enkele gegevens. De benodigde gegevens staan erin.
Ik wil een soort knop maken waarin nadat hier op geklikt wordt, een aantal gegevens zichtbaar gemaakt worden uit een ander werkblad welke berekend worden adhv een vlookup.
Deze gegevens staan in werkblad 2. En het doel is dat een aantal gegevens pas zichtbaar gemaakt worden nadat een bepaalde handeling is verricht.
In mijn originele bestand is namelijk de knop zoeken pas zichtbaar als aan een aantal criteria wordt voldaan.
Zelf ga ik verder in deze knop nog inbouwen dat een aantal gegevens worden gekopieerd naar een andere locatie en een aantal gegevens worden leeggehaald. (namelijk de zoekgegevens) En dat het bestand wordt opgeslagen.
Als ik deze gegevens te vroeg laat zien ben ik bang dat een aantal gegevens niet worden doorgevoerd. En later voor incorrecte gegevens gaan zorgen.

Het popup scherm hoeft er niet spannend uit te zien. Standaard is goed (grijze achtergrond).

Hopende op jullie input.

Dank en groet,

Rob
 

Bijlagen

@mvw64,

Ts vraagt om een horizontale presentatie. Zelf probeer ik te voorkomen om twee keer dezelfde code te schrijven en iets aansturen vanuit een rechtsklik vind ik ook niet zo'n goed idee omdat je dan het 'menu' onder deze knop kwijt bent.;)

Anders geschreven en met een dubbelklik kan het ook wel met een msgbox.

Code:
Sub VenA()
c00 = "Kast" & vbTab & "Lade" & vbTab & "Bak" & Chr(10)
With Sheets("Blad2")
    Set f = .Columns(1).Find(Range("F2").Value, , , xlWhole)
    If Not f Is Nothing Then c01 = .Cells(f.Row, 2) & vbTab & .Cells(f.Row, 3) & vbTab & .Cells(f.Row, 4)
    MsgBox c00 & c01
End With
End Sub

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address <> "$F$2" Then Exit Sub
    VenA
    Cancel = True
End Sub
 
Beide opties hebben wel iets en hebben me wijzer gemaakt.

Echter wat ik me nu nog afvraag, staat hier geheel buiten.

Kan ik eenvoudig terugvinden hoe een bepaald object heet in VBA?

Zoals bij MVW64 had ik een macro moeten opnemen om te zien hoe de knop genoemd werd, namelijk:

Code:
ActiveSheet.Shapes.Range(Array("Button 2")

Ik ga echter wel volledig voor jouw oplossing VenA. Dit puur omdat ik een reden had dat het achter een commandbutton moest zitten.
Ik heb namelijk al een code aan deze commandbutton hangen welke zorgt dat de knop gewoonweg niet zichtbaar is als het product niet bestaat, in mijn geval als er geen voorraad is.. (Dit tackelt gelijk dat ik geen code hoef te hebben dat iets moet worden aangegeven als het product niet bestaat)
In hetgeen waarmee ik ga werken wordt het gegeven dat gezocht wordt, opgebouwd uit meerdere gegevens uit meerdere cellen. (formule in de zoekcel opgebouwd als: =A1&B1&C1) Dus moet het formulier aan een knop hebben hangen, verder aan diezelfde knop hang ik ook een code die ervoor zorgt dat deze zoekgegevens gewist worden en dat nog een kopieeractie wordt uitgevoerd naar een ander tabblad.

Maar ik kom hier uit. Opgelost.
Maar ben nog wel benieuwd hoe je de VBA code van een object makkelijk kunt vinden.

Dank u MVW64 en VenA en iedereen die er door gegekeken heef.
 
Bedoel je dit ?
Code:
Sub tst()
    For Each shp In ActiveSheet.Shapes
        MsgBox shp.Name
    Next
End Sub
 
Bedoel meer als ik in een macro een verwijzing naar een object wil maken zit ik nu eerst een macro op te nemen, om te zien hoe deze heet.
Bijvoorbeeld, Commandbutton1 of Image2. Stel je hebt 50 commandbuttons, dan is het meer een soort van trial and error. Om te zien welke nummer deze heeft.
 
Daar heb je toch geen VBA voor nodig.
Als je bij Tab Ontwikkelaars in DesignMode gaat en je selecteert het betreffende object krijg je in het Naamvak toch de benaming van de knop.
 
Dan krijg ik idd dit:
Code:
=INSLUITEN("Forms.CommandButton.1";"")
En heb deze nooit gezien, had niet verwacht deze in de formulebalk terug te vinden. Shapes komen er wel niet zichtbaar, maar die ken ik nu ook.

Dank voor de uitleg.
 
Vraag is geheel opgelost in de vorm zoals ik deze vroeg.

Code:
Private Sub UserForm_Initialize()
ar = Sheets("Blad2").Columns(2).SpecialCells(2).Find([F2]).Offset(, 1).Resize(, 3)
For j = 1 To 3
    Controls("Textbox" & j) = ar(1, j)
Next j
End Sub

Dit werkt volledig, echter loop ik tegen het volgende probleem.
De waarde in kolom 2 is in het bestand waar ik mee werk opgebouwd dmv een formule.

Met formule geeft dit foutmelding:

Fout 91 tijdens uitvoering:
Objectvariabele of blokvariabele With is niet ingesteld

Bijgevoegd het bestand waar ik mee werk. De knop in "gebruik nemen" is ingericht zodat deze de foutmelding weergeeft.

Op de hoofdpagina heb ik een aantal images verwijdert (waar macro's aanhingen)
Op werkblad "Product boor zoeken" heb ik een 3-tal commandbuttons. (2, 3, 4)
Deze 3 moeten allemaal linken naar userform1.
Kolommen J t/m L worden nog verborgen. (heb ik wel nodig)
De commandbuttons zijn alleen zichtbaar als de waarde cel N9 groter is als 0, een 2 buttons ook lager is dan 2.
Nog uit te voeren acties.
1. De commandbuttons, krijgen ook nog de actie dat ze de regel moeten invoegen in werkblad "Mutaties boren", en dat de ingevoerde gegevens leeggemaakt worden. (Zodat je bij wijze van een nieuw product kan gaan zoeken) (en dat het bestand opgeslagen wordt)
2. De + en - shapes ga ik nog aanpassen zodat deze alleen zichtbaar zijn als de voorraad dat toe laat. (dus dat je er geen 1 uit voorraad kan nemen als de voorraad 0 is.)
3. Keuzeopties maken in kolom C en E, dit gaat mij niet lukken (al de nodige research in gedaan). (Waarbij keuze E alleen de opties laat zien die overeen komen met de keuze uit kolom C. Echter dit komt later (wil nog een aantal dingen proberen)
4. Formule nog maken voor de rijen 16 t/m 20.

ps.
Ga een macro invoegen welke er voor zorgt dat niet met het kruisje gesloten kan worden, de macro staat nu uit maar de melding staat wel aan. Dus niet schrikken. :) (Heb nog geen knoppen gemaakt welke het bestand afsluiten)

Hopende op jullie advies.


Edit:

Zet deze toch weer op opgelost.
De formule er uit slopen is op zich geen probleem.
 

Bijlagen

Laatst bewerkt:
Probeer het zo eens

Code:
ar = Sheets("Data invoer boren").Columns(6).Find([F9], , xlValues).Offset(, 7).Resize(, 3)
 
Code:
Private Sub UserForm_Initialize()
    With Sheets("Data invoer boren")
        ar = .Cells(Application.Match([F9].Value, .Columns(6), 0), 6).Offset(, 7).Resize(, 3).Value
    End With
    For j = 1 To 3
        Controls("Textbox" & j) = ar(1, j)
    Next j
End Sub
 
Dat is em helemaal, echt bedankt mensen. Weer een stap dichterbij naar wat ik probeer te maken.
 
1. integreer de bestanden van de gereedschappen (boren/frezen/ etc.) tot 1 werkblad.
2. gebruik voor de bestellijst een userform met een listbox waarin de totale database van de gereeedschappen is ingelezen.
3. gebruik nooit samengevoegde cellen
4. schakel nooit normale Excel funkties (bijv. afsluiten van een bestand) uit
5. verwijder alle 'select' en 'activate' uit je VBA code
 
Laatst bewerkt:
3.: Done, alle knoppen bouw ik toch een save command aan. Dus kruisje mag gewoon werken.
4.: Duidelijk, aangepast.
5.: Mis de kennis in deze, om ze netjes te maken. Nu gemaakt met macro opnemen, en deze gekopieerd.

1.: Dit was mijn eerste insteek, echter opgegeven. Dit omdat ik op de product zoeken pagina's wilde inbouwen dat op het moment je aangaf dat het om een boor ging dat bij afmeting alleen de opties zichtbaar werden welke in het data datatabblad ook als boor stonden. En dit vervolgens ook bij lengte. Bijvoorbeeld als je een boor had van Ø 0,95 en je zou 2 boren hebben met verschillende lengtes, dat je dus maar 2 keuzes kreeg in de te selecteren opties.
Zo had ik een mogelijkheid gelezen op een andere site, welke er van uit ging dat je verschillende werkbladen aanhield per hoofdgroep. Mislukte natuurlijk grandioos.
2.: Weet ik nog niet precies hoe deze gaat, echter zal wat research vergen. Eerste vraag zou al zijn hoe ik een listboss instel.

Bedankt voor de input, echter mijn kennis is onvoldoende om ze toe te passen.
 
Laatst bewerkt:
Dag SNB, ik ga kijken wat ik met de smarties handleiding kan.
Echter punt 1 zal ik dan eerst moeten oplossen, aangezien die hoger op mijn lijst staat van dit moet werken. (voor punt 2, zijn er meerdere aanknopingspunten, hoe die op te lossen)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan