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

meer komma's dan nodig

Status
Niet open voor verdere reacties.

bjornesto

Gebruiker
Lid geworden
16 apr 2012
Berichten
201
ik heb hier een code die werkt

Echter komen er soms meer komma's dan nodig als je op meerdere buttons klikt



Code:
Private Sub fill_in_textbox()
'selecteer gewenste togglebutton en vul andere userform textbox in
Dim ctrl As Control
Dim AText, _
    AText1, _
    AText2, _
    AText3, _
    Atext4, _
    Atext5, _
    full_text, _
    ctrlType, _
    string_text, _
    string_approval As String


'gaat nakijken welke checkbox er aangevinkt is
On Error Resume Next
For Each ctrl In UserForm1.MultiPage1.Controls
  If ctrl.Value = True Then
    string_text = Me.Frame1.Caption & " : "  'overnemen van text gebaseerd op frame caption
    If Len(AText) > 0 Then AText = AText & ", "     'gaat bij meerdere checkboxen een komma zetten en achteraan bijvoegen
    AText = AText & ctrl.Caption                    'alles samengevoegd
    full_text = " ( " & string_text & " " & AText & " ) "
  End If
Next ctrl

' gaat in het scherm zetten welke checkboxen aangevinkt zijn en dit op een ordelijke manier plaatsen
On Error Resume Next
UserForm1.TextBox2000.Value = full_text
 

Bijlagen

Waarom zit er een wachtwoord op? Zo valt er niks te zien...
 
En hoe werkt het systeem? Want ik kan er geen chocola van maken. Ik zie twee identieke procedures: Private Sub fill_in_textbox() en Sub fill_in_textbox() en ik kan niet zien waar ze getriggerd worden zonder dat ik een uur aan het zoeken ben. Er zit ergens een Togglebutton verstopt die één van de procedures aanroept, maar waar? Geen idee.
 
Begin bij het begin:

- verwijder alle samengevoegde cellen
- zet alle code voor Userform1 in de codemodule van Userform1 (en niet in een aparte macromodule)
- beperk het aantal userforms tot 1
- beperk het aantal codemodules tot 1
- gebruik voor het schakelen tussen tabbladen in een Multipage de tabs óf knoppen, niet alletwee.
- zorg dat de gebruiker pas wat kan gaan doen als eerst een naam is gekozen in combobox2
- stel combobox1 in als een uitklaplijst (style =2)
- gebruik een array in plaats van een aaneenschakeling van variabelen en karakters.

Code:
   TextBox2000 = Join(Array(full_text, full_text1, full_text2, full_text3, full_text4, full_text5, full_text6), vbLf)

- reduceer de interaktie met een werkblad tot een minimum
- zorg voor een correcte referentie van Ranges.
- met 50 schakelknoppen is een eventklasse aangewezen
- zet de Userform_initialize procedure bovenin de codemodule: een logische volgorde is belangrijker dan een alfabetische
Code:
Private Sub UserForm_initialize()
    With Sheet2
        .Range("A1:A700").AdvancedFilter 2, , .Cells(1, 10), True
        ComboBox1.list = .Cells(1, 10).CurrentRegion.Value
        .Cells(1, 10).CurrentRegion.Clear
    End With
    
    sn = Sheet1.Range("F2:AW2")
    For jj = 1 To UBound(sn, 2)
        Me("ToggleButton" & jj).Caption = sn(1, jj)
    Next
End Sub
 
Laatst bewerkt:
Dank u allemaal voor de reacties

Ik begrijp dat ik nog veel moet leren over dit en neem dit ter harte.

Snb dit is wat ik zocht

Echter was er niet alles over vertelt

Wat betreft u opmerkingen

- hij zocht eerst in de lijst van namen (alle dagen word dit geupdate en zijn niet altijd dezelfde daarmee)

beperk u tot 1 userform
- De 2de userform dient als chart om te laten zien (maar daar is een fout opgetreden daarom dat ik niet heb laten zien), moet dit nog nakijken want is een probleem met het opslaan als gif bestand.
- Zouden in de toekomst de positieve en negatieve charts willen laten zien.

De modules waren macro's die opgenomen waren en gingen weg na verloop van tijd maar was nog aan het zoeken.

Class modules
Dat ben ik nog aan het uitzoeken.

Wat betreft u andere opmerkingen dank u voor het advies.

Nu weet ik terug naar de basics te gaan en meer onderzoek moet doen en boeken lezen
 
Nagekomen suggestie: gebruik vinkvakken in plaats van wisselknoppen. Per 2 items (bijv. wel/niet schoongemaakt) heb je maar 1 vinkvak nodig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan