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

Naam userform als var een module binnen halen?

Status
Niet open voor verdere reacties.

Demeter

Verenigingslid
Lid geworden
24 mei 2006
Berichten
1.659
Een goeden dag,

Ik heb een module welke unieken maakt van data in een kolom.
Nu wil ik deze unieken gebruiken om een combobox te vullen in een userform.
Dit lukt!!!.
Nu heb ik nog een userform welke ook een combobox heeft waarin deze gegevens moeten komen.

Het probleem schuilt erin dat ik de naam van het formulier als var.naam in de unieken code heb staan, als volgt:
Code:
   hierboven staat de genereer unieken code
With [COLOR="red"]naamformulier[/COLOR].cboOmschrijving
      'Clear old ComboBox RowSource
      .RowSource = vbNullString
      'Parse new one
      .RowSource = strRowSource
    End With

Nu dacht ik slim te zijn door in mijn initialize locatie de naam van het formulier mee te geven als var. naar de unieken module:
Code:
'naam formulier als variabele instellen
[COLOR="red"]naamformulier[/COLOR] = "verwijderform"
en in mijn uniekencode begin ik met:
Code:
Sub SortAndRemoveDupes([COLOR="Red"]naamformulier[/COLOR] As String)

Heeft iemand hier een oplossing voor of vergeet ik ergens een instelling?

Het is de bedoeling dat ik de naam van het formulier waarin ik de unieken wil laden als var. in de unieken code kan laden, zodat ik de unieken code niet voor ieder combobox hoeft te gebruiken!!!


Thanks,
Ferenc
 
Heb het nu met een if else opgelost:
code staat in mijn module unieken.
Code:
If naamformulier = "verwijderform" Then
    With verwijderform.cboOmschrijving
      'Clear old ComboBox RowSource
      .RowSource = vbNullString
      'Parse new one
      .RowSource = strRowSource
    End With
ElseIf naamformulier = "voegapparatuurtoe" Then
   With voegapparatuurtoe.cboOmschrijving
      'Clear old ComboBox RowSource
      .RowSource = vbNullString
      'Parse new one
      .RowSource = strRowSource
    End With
End If
  
End Sub

Maar is dit een juiste beslissing?
Hoe krijg ik de var.naam in mijn userform naam?
Code:
   With [COLOR="Red"]userformvariabelenaam[/COLOR].cboOmschrijving
      'Clear old ComboBox RowSource
      .RowSource = vbNullString
      'Parse new one
      .RowSource = strRowSource
    End With
is toch korter dan met een loop!


Groet,
Ferenc
 
Laatst bewerkt:
Ik begrijp eerlijk gezegd niet precies wat je vraag is, maar heb je wat aan Me ?

Bij.

Msgbox Me.name

Resultaat: Userform1

Met vriendelijke groet,


Roncancio
 
Hoi Demeter,

Heb je hier iets aan:
Verander:
Code:
Sub SortAndRemoveDupes(naamformulier As String)
In
Code:
Sub SortAndRemoveDupes(cbo as ComboBox)


In je Module kun je dan:
Code:
With cbo
      'Clear old ComboBox RowSource
      .RowSource = vbNullString
      'Parse new one
      .RowSource = strRowSource
    End With


Dus:
Code:
Sub SortAndRemoveDupes(cbo as ComboBox)
With cbo
      'Clear old ComboBox RowSource
      .RowSource = vbNullString
      'Parse new one
      .RowSource = strRowSource
End With
End Sub

Stel dat je op Userform1 een Combobox hebt met de naam Combobox1 dan roep je de module aan met.

Code:
SortAndRemoveDupes UserForm1.Combobox1
 
@Roncancio,
Ik ken de Me functie, dit is niet degene waarnaar ik opzoek ben. Thanks anyway.

@Spiderman,
Denk dat wij op een lijn zitten. Zal het vanmiddag testen en post mijn bevindingen hier.

Thanks.

Groet,
Ferenc
 
Spidie,

Heb het geprobeerd maar krijg een fout melding:
een module is geen geldig type.

in de beginregel van mijn module:
Code:
Sub SortAndRemoveDupes([COLOR="red"]cbo As ComboBox[/COLOR])

'hier staat de code om de unieken te bepalen

With cbo
'Clear old ComboBox RowSource
.RowSource = vbNullString
'Parse new one
.RowSource = strRowSource
End With

End Sub[/CODE]

In Userform_Initialize() staat:
Code:
SortAndRemoveDupes [COLOR="red"]verwijderform.cboOmschrijving[/COLOR]

Weet jij hier iets van?

Groet,
Ferenc

ps
met behulp van de loops werkt het ok.
Maar wil wel graag weten hoe het efficienter kan.
Doe de laatste tijd alles met loops, wordt tijd om een level hoger te gaan.
Super Saiyan 1 o.i.d. (LOL).
 
Hoi Demeter,

Kijk eens naar het voorbeeld in de bijlage:


Het enige probleem met dit voorbeeld, is dat de userforms 2 en 3 worden gesloten en dus de text die je erin zet niet onthouden (maar daar geet het nu ook niet om)
 

Bijlagen

Thanks, :thumb:

Denk dat ik verkeerde kant op zat te kijken tien ik je eerdere post las.
Staat precies in wat je moet doen, maar met een voorbeeld werk het altijd toch beter.

Ben ook meer een man van de stripboeken dan het echte proza werk.
Rode ridder rules (alleen de zwart/wit uitvoeringen :))

Bedankt mannen.
Fijn weekend, tot zo ver dat bestaat op dit forum (LoL)

Groet,
Ferenc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan