Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: for next  (gelezen 5220 keer)

0 leden en 1 gast bekijken dit topic.

Offline firmin

  • Ervaren lid
  • ***
  • Berichten: 442
  • Geslacht: Man
  • Excel Specialist
for next
« Gepost op: 26 augustus 2008, 12:36:16 »
Oplossers,

volgend probleempje :
Ik probeer een rij in te vullen met namen (D5 tot L5)
Iedere cell moet een andere naam krijgen te selecteren in een listbox.
Cell D5 is geselecteerd waarna een klik op de knop "spelers kiezen" de userform opent.
Een naam in de listbox selecteren en op OK plaats die naam in cell D5 en selecteerd cell E5, een nieuwe naam selecteren zet deze in E5 en selecteerd cell F5.
Als cell L5 is ingevuld moet de for next stoppen en zou cell D6 moeten geselecteerd worden. enz.
Om het bestand te verkleinen is alleen de range voor zaterdag behouden.
Firmin
PB easynote LE69KB,AMD quad-core,1000GB HDD,AMD Radeon HD8330,8GB DDR3
Windows 10,office 2007
MSE, Internet Explorer 11

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.191
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: for next
« Reactie #1 Gepost op: 26 augustus 2008, 13:14:38 »
Hallo Firmin,

is het niet eenvoudiger om met Validatie te werken?

zie voorbeeld in bijlage:

:) SoftAid :)             


Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline firmin

  • Ervaren lid
  • ***
  • Berichten: 442
  • Geslacht: Man
  • Excel Specialist
Re: for next
« Reactie #2 Gepost op: 26 augustus 2008, 14:32:35 »
Hallo SoftAid,

In de meeste gevallen gaat men de oplossing veel verder zoeken dan nodig.
Er zijn verschillende mogelijkheden waaraan een mens nooit denkt, en dikwijls zijn dat voor de hand liggende en eenvoudige mogelijkheden.
Zoals uw oplossing nu.
Thanks

Firmin
PB easynote LE69KB,AMD quad-core,1000GB HDD,AMD Radeon HD8330,8GB DDR3
Windows 10,office 2007
MSE, Internet Explorer 11

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.191
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: for next
« Reactie #3 Gepost op: 26 augustus 2008, 14:37:46 »
 ;)

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: for next
« Reactie #4 Gepost op: 26 augustus 2008, 23:29:58 »
Firmin, SoftAid is zo vriendelijk geweest om je topic toch nog weer te heropenen voor mijn reactie.
Je zat er met je leuke oplossing namelijk helemaal niet zover vandaan. Je had 2 kleine dingen anders 'moeten' doen om je beoogde resultaat van je noeste arbeid te bereiken.
  • Die For...Next die je hebt ingezet, nekt je en is verder eigenlijk overbodig. Evenals de knop 'OK'. Je gebruikte listbox heeft namelijk ook de eigenschap Click. Deze kan je dus gebruiken om je aangeklikte naam naar je sheet te verplaatsen.
  • De notatie van 'Offset' mag zoals je 'm deed, maar simpeler is gewoon Offset(0,1) of zelfs Offset(,1)

Ik heb je 'Sub CommandButton1_Click' wat ingekort en er een extra sub bij aangemaakt. Plaats deze maar 'ns in je VBE en je kan weer verder stoeien met de ingeslagen weg (of niet natuurlijk!).
Private Sub CommandButton1_Click()

    If MsgBox("nog een naam invullen?", vbYesNo + vbQuestion, "Vraagje...") = vbNo Then Unload Me

End Sub

Private Sub ListBox1_Click()
   
    ActiveCell.Value = UserForm1.ListBox1.Value
    ActiveCell.Offset(0, 1).Select

End Sub

Groet, Leo
______________________________

Groet, Leo

Offline firmin

  • Ervaren lid
  • ***
  • Berichten: 442
  • Geslacht: Man
  • Excel Specialist
Re: for next
« Reactie #5 Gepost op: 26 augustus 2008, 23:46:18 »
Redhaed,
Dat is nu het plezierige aan deze site, men leert altijd bij, zelfs een gepensioneerde doet dat nog graag.
In excel zijn er dikwijls verschillende benaderingswijzen,hier bij de oplossers vind men oplossingen van gebruikers die in de boekjes niet altijd terug te vinden zijn.
Thanks voor het melden
Firmin
PB easynote LE69KB,AMD quad-core,1000GB HDD,AMD Radeon HD8330,8GB DDR3
Windows 10,office 2007
MSE, Internet Explorer 11

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: for next
« Reactie #6 Gepost op: 26 augustus 2008, 23:54:50 »
Firmin, Gewóón lekker door blijven gaan met het programmeren! En als je iets niet weet... KOM MAAR OP! ;)

Groet, Leo

P.s.
Citaat van: Firmin
men leert altijd bij, zelfs een gepensioneerde doet dat nog graag
Nou zeg, ik ben wel op leeftijd, maar nog niet zo ontzettend oud!  ;D ;D ;D Nee hoor, geintje! ;)
______________________________

Groet, Leo

Offline firmin

  • Ervaren lid
  • ***
  • Berichten: 442
  • Geslacht: Man
  • Excel Specialist
Re: for next
« Reactie #7 Gepost op: 27 augustus 2008, 18:34:35 »
RedHead,
Ik wil toch nog even terugkomen op mijn vraagstelling en uw antwoord.
In bijlage zend ik het afgewerkte bestandje.
Ben benieuwd naar uw mening

Groetjes

Firmin
PB easynote LE69KB,AMD quad-core,1000GB HDD,AMD Radeon HD8330,8GB DDR3
Windows 10,office 2007
MSE, Internet Explorer 11

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: for next
« Reactie #8 Gepost op: 27 augustus 2008, 21:02:48 »
Firmin, Dat ziet er toch prima uit zo? Je moet wel een foutafhandeling inzetten bij het gebruik van je inputbox. Als je nu namelijk op het kruisje van de box klikt, schiet de code in een error.

Ik ga d'r ff mee aan de slag om een voorbeeldje te maken.

Groet, Leo
______________________________

Groet, Leo

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: for next
« Reactie #9 Gepost op: 27 augustus 2008, 21:30:30 »
Firmin, Probeer dit codeblokje maar 'ns uit (de oude dus verwijderen!)
Private Sub CommandButton1_Click()
Dim s As Range
Dim bGekozen As Boolean

    bGekozen = False

    If MsgBox("nog een naam invullen?", vbYesNo + vbQuestion, "SPELERS") = vbNo Then
        Unload Me
    Else
        Do 'deze lus zorgt ervoor dat je een cel MOET kiezen
            On Error Resume Next 'vang de foutmelding af als de box niet wordt ingevuld
            Set s = Application.InputBox("Selecteer een cel door er met de muis in te klikken...", Type:=8)
            On Error GoTo 0 'reset de error trapping
            If s Is Nothing Then 'er is op kruisje of cancel gedrukt
                If MsgBox("Toch stoppen?", vbYesNo, "Heu???") = vbYes Then 'ontsnapping...
                    Unload Me
                    Exit Sub
                End If
            Else
                bGekozen = True 'er is netjes een cel gekozen
            End If
        Loop While bGekozen = False
        Range(s.Address).Select
    End If

End Sub

Je kan verder nog véél meer leuke code verzinnen voor je sheet. Bijvoorbeeld het direct tonen van de 'zaterdagspelers' bij het openen van het formulier. Of een beperking inzetten van het aantal cellen waar je in weg mag schrijven. Of...?
Gewoon lekker doorbouwen. Je bent namelijk al flink gegrepen door het VBA-virus! ;D

Groet, Leo

EDIT: En voordat ik 't vergeet... Je ziet dat ik de code 'inspringend' heb geschreven. Dit maakt het duidelijker leesbaar als je grotere blokken code gaat schrijven. Probeer jezelf dit aan te wennen om ook te doen!
______________________________

Groet, Leo

Offline firmin

  • Ervaren lid
  • ***
  • Berichten: 442
  • Geslacht: Man
  • Excel Specialist
Re: for next
« Reactie #10 Gepost op: 27 augustus 2008, 22:51:49 »
RedHead,
Dat VBA virus heb ik al meer dan 10 jaar.
Toen ik nog werkte, in een bankkantoor, heb ik er een bestand gemaakt voor de personeelsbezetting.
Lang aan gewerkt, en waarschijnlijk is het niet helemaal correct opgebouwd, maar het werkt perfect.
Ieder jaar krijg ik nog de vraag om het aan te passen.
Met alleen maar zelfstudie , vallen en opstaan, zoeken en verbeteren, kom ik er ook. Maar met een expert erbij leer je toch beter programeren.
PS Dat van die gepensioneerde was op mijzelf bedoeld.
Firmin
PB easynote LE69KB,AMD quad-core,1000GB HDD,AMD Radeon HD8330,8GB DDR3
Windows 10,office 2007
MSE, Internet Explorer 11

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: for next
« Reactie #11 Gepost op: 27 augustus 2008, 23:05:54 »
Dat VBA virus heb ik al meer dan 10 jaar
Ah... Dat verklaart een hoop! ;D

Ik wacht dus rustig af wat voor moois we nog van je gaan zien. ;)

Groet, Leo

P.s. enne... je opmerking in je 'p.s.'... dat snapte ik wel hoor, het was maar een geintje van me. Je bent toch zo oud als je je voelt? 8)
______________________________

Groet, Leo

 


www.combell.com