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

56 commandbuttons benoemen...

Status
Niet open voor verdere reacties.
wampier,

ik denk dat ik het gevonden heb. volgende code doet wat ik wil
Code:
Sub kn_Click()
Dim beleg As Variant
beleg = ActiveCell.Offset(0, 2).Value
    
    ActiveCell.Offset(0, 2).Value = beleg & " " & kn.Caption
    parent.updatebox
End Sub

ik bekijk waar er nog vernieuwing of verandering nodig is :)
 
Een nette oplossing. Ik ben momenteel weer aan het reizen, dus mijn updates en bijdrages zullen sporadisch zijn
 
ik vind het ook een nette oplossing :)

ik zou zeggen enjoy your trip en alleszins al héél erg bedankt voor de gegeven hulp.

Ik heb deze ochtend het bestand getest en ben er redelijk tevreden over.

Mss een bijkomend iets? Kunnen bepaalde cmdbuttons uit een matrix gekleurd worden (ik doel dan op de broodjes die het meest besteld worden). weet niet of dit mogelijk is?

groeten,
David
 
In principe zou ik eerst kijken of "beleg" niet leeg is en dan een melding geven dat eerst een broodje geselecterd moet worden, maar dat is een klein iets.

In principe kun je de buttons die je wil prima kleuren. De beste maniet om dat te maken is afhankelijk van hoe je het wil beheren. Je zou bijvoorbeeld een kolom met "populair" kunnen maken en daar via een lookup per button kunnen kijken of de button in die lijst voorkomt. Eventueel zou je zelfs een kleurenlijst toe kunnen voegen om de juiste kleur te kiezen etc.
 
en daar ga ik terug hulp nodig hebben :)

ik ga kijken of ik het eerste deel van je voorstel zelf kan bekomen... wish me luck :)
 
tip 1 is omgezet naar volgende code
Code:
Sub kn_Click()
Dim beleg As Variant
beleg = ActiveCell.Offset(0, 2).Value
If beleg = "" Then
    MsgBox ("Kies eerst een soort beleg, dan pas het broodje")
    Else
End If

    ActiveCell.Offset(0, 2).Value = beleg & " " & kn.Caption
    parent.updatebox
End Sub

voor tip 2 kijk ik ook eens, maar vrees ik het ergste :)
 
De "else" in die "if" hoeft er natuurlijk niet te staan.

Voor het tweede deel kun je "find" gebruiken op je kolom of worsheetfunction.vlookup of worksheetfunction.match als je je daar wat fijner bij voelt.
 
dus direct na msgbox de end if? zo?

voor tip 2: find gebruiken van de kn.caption in de lijst met favorieten, en dan bij true kleuren? zo?
 
Dat kan. Je kunt het ook samenvoegen met de knoppenmatrix functie of een nieuwe "knopkleur" functie maken die je apart aanroept
 
ik heb zoiets gevonden

Code:
    With Sheets("Blad2").Columns("I:I")
    Columns("I:I").Select
    Set knop = Selection.Find(What:=knop, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)

If knop Is Nothing Then
    MsgBox ("niks")

Else
    knop.Font.ColorIndex = 3
    
End If
End With

maar dit doet niet echt wat ik wil :)
 
Lijkt me niet nee. De code is in principe het juiste begin, maar gebruik van "select" vermijden en op de juiste dingen zoeken is wel belangrijk :p

uit de losse pols:
Code:
With Sheets("Blad2").Columns("I:I") 'ga er even vanuit dat dit klopt.
for each knop in opslag
  set vinden = .find(knop.kn.caption)
  if not vinden is nothing then
     knop.kn.BackColor = &H000000
  end if
next knop
 
moet deze code bij de knoppenmatrix komen, of bij commandbutton 6 waar de soorten beleg mee opgeroepen worden?

edit: bij commandbutton 6 dus :)
 
Laatst bewerkt:
Dat is dus afhankelijk hoe je het opzet. liefst een aparte functie, dat houdt de code wat compact en leesbaar, maar kan ook als subonderdeel van "knoppenmatrix" etc. zoveel mogelijk op 1 plek zodat je niet bij 10 knoppen weer de functie moet aanpassen als je later wat anders wilt.
 
ah ok :) ik heb het bij de commandbutton 6 gezet, voorlopig hou ik enkel voor de soorten beleg een favorietenlijst bij :)

op naar het volgende. ik bekijk wat nog aangepast dient te worden :)
 
ik heb er nog wel 1:

Code:
Private Sub UserForm_initialize()
    Set opslag = New Collection
    Set extras = New Collection
    With Sheets("Bestelling")
    With LstOverzicht
    .RowSource = "A7:g48"
    .ColumnCount = 5
    .ColumnWidths = "4cm;0,6cm;5cm;4cm;1,5cm" ';2cm;4cm;4cm;2,5cm;1,75cm;2cm;2cm;2,5cm;2,5cm;2,5cm;2,5cm;2,5cm;1,2cm;1,2cm;2cm;2cm;2cm;2cm;2cm"
    End With
    With Sheets("blad2")
        ComboNaam.List = Sheets("Blad2").Columns(3).SpecialCells(2).Value
    End With
    With Sheets("Bestelling")
    TxtBroodje.Value = ""
    TxtBedrag.Value = "" & " €"
    TxtTeruggave.Value = "" & " €"
    TxtOntvangen.Value = ""
    End With
    End With
    'CommandButton6_Click
End Sub

Deze bevat bijna alleen maar overbodige code.

Code:
    public opslag  as New Collection
    public extras  as New Collection
Private Sub UserForm_initialize()
    LstOverzicht.list=Sheets("Bestelling").range("A7:g48").value
    ComboNaam.List = Sheets("Blad2").Columns(3).SpecialCells(2).Value

    TxtBroodje.Value = ""
    TxtBedrag.Value = "" 
    TxtTeruggave.Value = "" 
    TxtOntvangen.Value = ""
End Sub
 
ik heb er nog wel 1:

Code:
Private Sub UserForm_initialize()
    Set opslag = New Collection
    Set extras = New Collection
    With Sheets("Bestelling")
    With LstOverzicht
    .RowSource = "A7:g48"
    .ColumnCount = 5
    .ColumnWidths = "4cm;0,6cm;5cm;4cm;1,5cm" ';2cm;4cm;4cm;2,5cm;1,75cm;2cm;2cm;2,5cm;2,5cm;2,5cm;2,5cm;2,5cm;1,2cm;1,2cm;2cm;2cm;2cm;2cm;2cm"
    End With
    With Sheets("blad2")
        ComboNaam.List = Sheets("Blad2").Columns(3).SpecialCells(2).Value
    End With
    With Sheets("Bestelling")
    TxtBroodje.Value = ""
    TxtBedrag.Value = "" & " €"
    TxtTeruggave.Value = "" & " €"
    TxtOntvangen.Value = ""
    End With
    End With
    'CommandButton6_Click
End Sub

Deze bevat bijna alleen maar overbodige code.

Hieronder is voldoende. (zet columncount=5 gewoon bij de eigenschappen net zoals de columnwidths).
Code:
    public opslag  as New Collection
    public extras  as New Collection
Private Sub UserForm_initialize()
    LstOverzicht.list=Sheets("Bestelling").range("A7:g48").value
    ComboNaam.List = Sheets("Blad2").Columns(3).SpecialCells(2).Value

    TxtBroodje.Value = ""
    TxtBedrag.Value = "" 
    TxtTeruggave.Value = "" 
    TxtOntvangen.Value = ""
End Sub

1 klassemodule met withevents lijkt me ook voldoende.

Het heeft geen zin with ... end with te gebruiken als je er geen objecten aankoppelt.
 
Laatst bewerkt:
hey SNB,

leuk dat je ook snuistert in mijn project :)

hoe meer zielen hoe beter het bestand? :)

in bijlage het laatste bestand waar ik mee bezig ben. Feel free om te veranderen waar verandering wenselijk is zou ik zeggen :)

ik kijk om morgenvroeg het laatste nieuwe bestand up te loaden. Nu zit ik aan 128 kb maar das net te veel blijkbaar...

het laatste bestand dat wampier online gezet heeft mag ook gebruikt worden voor aanpassing, no prob :)
 
Dat veranderen laat ik aan jou over; zo hoort het toch ?
 
goedemorgen SNB,

ik sta open voor veranderingen :) het kan altijd zijn dat je een andere aanpak/bestand in gedachten hebt.

ik ga zeker je aanpassing in de posts hierboven al aanpassen. wat bedoel je met 1 klassemodule met withevents lijkt me ook voldoende?
 
Hoeveel klassemodules tel jij in het bestand ?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan