![]() |
|
|||||||
| Registreer | FAQ | Ledenlijst | Interessegroepen | Kalender | Zoeken | Berichten van vandaag | Markeer forums als gelezen |
|
|
|
Discussietools | Weergave |
|
#1
|
|||
|
|||
|
Hallo,
Door mijn passie voor het werken met de Officeprogramma's en om mensen daar 1-op-1 in te trainen ben ik in 2007 mijn eigen bedrijf begonnen. Door "toeval" kreeg ik een hele leuke opdracht om in Excel te gaan automatiseren. Nu lukt me dat met de formules goed, maar inmiddels heb ik ook al programmeeropdrachten in VBA gekregen. Mijn VBA kennis is echter niet optimaal. Ik doe dat nu wel, maar moet steeds codes zoeken omdat ik zelf nog niet de "logica" heb ontdekt. Ik heb een groot aantal boeken en meestal leer ik dingen gewoon zelf uit een boek. Maar met VBA lijkt dat nog niet te lukken. Zou er iemand genegen zijn, tegen betaling, mij daarmee op weg te willen helpen. Er bestaan vast kant en klare opleidingen voor, maar mijn ervaring leert dat ik alleen even op weg geholpen hoef te worden. Als beginnende ondernemer zijn de bestaande opleidingen op dit moment ook nog even te duur, naast het feit dat ik zoveel tijd niet nodig denk te hebben. Ik woon in Gelderland en zou het liefst een keer 1 a 2 uur door iemand op weg geholpen willen worden. Ik werk zowel met office 2007 als 2003. Ik kijk uit naar reacties. Mijn Oplossing! Ellen |
| Sponsored Links |
|
#2
|
||||
|
||||
|
Ellen,
ik denk dat jouw grootste probleem is, iemand bij jouw in de buurt. Neem nu bv mijzelf, ik woon in de kop van NH dat is gewoon 2 a 2 1/2 rijden voor je - En dan moet je ook weer terug. maar waar zit je dan mee elementaire dingen Variabelen - for next - do loop enz enz ??
__________________
Suc6 druk op F1 en lees ! En zie wat de moeder van de meeste oplossingen is. en Worksheet.nl is de dochter Moderator www.worksheet.nl / mr.magoo@worksheet.nl Lees informatieve columns over buitenlandse reizen en wandelingen in Nederland Verrassende columns over het leven van alledag op een camping. Optimistische columns over pubers, ouders en ouderen. op www.jolandacatharina.nl |
|
#3
|
|||
|
|||
|
Het klinkt heel stom, een formulier maken en de verschillende objecten toevoegen gaat prima, maar dan wil ik iets met de invoer en snap ik niet waarom bepaalde codes gebruikt worden. Bijvoorbeeld in een formulier moet een waarde ingegeven worden. In de textbox daarnaast wil ik dan de omschrijving van die waarde weergeven. Nu wil ik zo een regel of 10 op een formulier maken. Het is me wel gelukt na heel veel zoeken en kopieren om daar de juiste codes voor te vinden, maar ik zou dat zo graag zelf schrijven. Als er nu een verkeerde waarde wordt ingevuld op bijvoorbeeld regel 4 maakt hij bij het opslaan alles leeg omdat er 1 verkeerde waarde is ingevuld, eigenlijk wil ik dan gewoon een boodschap krijgen en de mogelijkheid om die waarde te corrigeren. Maar dan ben ik het weer helemaal kwijt en snap niet hoe ik dat moet schrijven. Ik kan wel op internet en in boeken blijven zoeken, maar ik wil zo graag dat ik dan zelf de logica snap en weet waarom ik een speciale code moet gebruiken. In de boeken lees ik het wel, maar de knop gaat nog niet om.
Natuurlijk zou ik het liefst bij mij in de buurt iemand vinden, maar eventueel ben ik ook wel bereid daar wat langer voor onderweg te zijn. |
|
#4
|
|||
|
|||
|
Hallo Ellen
Als ik het zo lees, is dit een kwestie van tijd en véél en véél oefenen in VBA. Dat oefenen op zich is niet leuk, maar als je redelijk wat met Office bezig bent, betaalt dat zich terug naar mijn mening. Neemt niet weg dat als iemand jou "op weg" zet dat je dan sneller bij de juiste codes zal uitkomen. Nu, ik wil wel een inspanning doen, maar Lier - Gelderland is misschien toch net iets te ver? Welke stad in Gelderland precies? Lier - Apeldoorn is op de kop 200 km enkele rit.Wigi Laatst gewijzigd door Wigi; 10 maart 2009 om 21:23 |
|
#5
|
||||
|
||||
|
Voor mij ook net iets te ver van huis.
Maar volgens mij is dit forum nu juist bedoeld om je op weg te helpen, nietwaar? ![]() De meesten komen hier weliswaar voor één casus, die dan na een aantal reacties - al dan niet naar tevredenheid - wordt afgesloten. Als je nou eens een aantal zaken zou opsommen waar je in je programmeerwerk tegenaanloopt, dan zouden de VBA'ers hier je van tips kunnen voorzien. Is voor ons bovendien ook leerzaam!
__________________
Spamming Useless Contributions To A Worksheet Near You Since 2008! ![]() Niet Vergeten: Sluit het bestand op en sla het af. Met Dee altijd een prima iDee! |
|
#6
|
|||
|
|||
|
Dank voor jullie reacties!
Oefenen doe ik al veel, maar juist omdat die logica niet duidelijk is moet ik elk stukje code nog steeds ergens zoeken. Kost mij heel veel tijd en ik vind het niet "netjes" om als ik een opdracht heb daar de codes van anderen voor te gebruiken. Ik woon vlak bij Arnhem, en nogmaals ik heb het er best voor over om wat verder te moeten rijden. Ik vind het namelijk ontzettend leuk om in VBA dingen voor elkaar te krijgen maar zou gewoon willen dat ik het zelf kon schrijven. Ik moet nu weg, maar zal vanmiddag even een bestandje uploaden als voorbeeld. |
|
#7
|
|||
|
|||
|
Als voorbeeld heb ik het testbestandje dat ik al eerder heb gebruikt, maar waar ik nog steeds mee aan het oefenen ben. De combobox beviel niet erg, er moest dan steeds gescrolld worden om het juiste artikelnr te vinden, in een groot bestand is dat niet handig. Terwijl de codes vanaf een factuur zowel in- als verkoop ingevoerd worden. Als er nu echter een code verkeerd ingegeven wordt stopt het formulier en krijg ik de melding "Fout 1004 tijdens uitvoering. Eigenschap VLookup van klasse WorksheetFunction kan niet worden opgehaald." Ik snap dat het met dat "on error go to" te maken heeft, maar wat moet ik daar dan invullen? Ik wil eigenlijk de melding en mogelijkheid krijgen dat ik het artikelnummer moet aanpassen en dan doorgaan met het invullen. Ook bij de textbox Af wil ik een melding krijgen als de voorraad onder 0 komt.
Zou het super vinden als iemand me hier mee kan helpen. |
|
#8
|
||||
|
||||
|
je kan een functie speciaal bouwen die je artikelomschrijvingen opzoekt en daarin zijn ook alle foutafhandelingen opgenomen. (hier function opzoeken)
dan hoef je maar 10 keer die functie aan te roepen en de waarde die je terugkrijgt wegschrijven naar je omschrijving (zie Private Sub TBArtNr1_Exit ...) Alleen lijkt me dit nog niet de ideale oplossing, want de werkmethode lijkt me nogal omslachtig en foutgevoelig. Dit is een tooltje om de stock aan te passen bij het inboeken van aankoop en verkoopfacturen ? Code:
Function opzoeken(artikel)
On Error Resume Next
If artikel = "" Then opzoeken = "": Exit Function 'geen artikelnummer is ook geen artikelomschrijving
opzoeken = Application.WorksheetFunction.VLookup(artikel, Sheets("miv 2008 juni").Range("A1:C300"), 3, 0) 'opzoeken omschrijving
If Err.Number <> 0 Then opzoeken = "???" 'bij een fout "???" meegeven
End Function
Private Sub TBArtNr1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TBOmschr1 = opzoeken(TBArtNr1)
End Sub
__________________
bsalv ![]() "Er gaat meer boven je petje dan eronder" Toon Hermans Is je vraag afgehandeld, gelieve die dan op "opgelost" te zetten via de daarvoor voorziene knop |
|
#9
|
|||
|
|||
|
Dank voor je reactie.
Is dit echt zo'n omslachtige oplossing? Wat zou jij dan adviseren? In het echte bestand gaat het om een grote voorraad met veel kleinere artikelen. Deze worden via werkbonnen afgeboekt en via inkoopfacturen bijgeboekt. Omdat er altijd meerdere artikelen tegelijk ingeboekt worden moeten er ca. 10 regels op het formulier staan. |
|
#10
|
|||
|
|||
|
Sorry, ik kom er nog niet uit. Moet ik de Function Opzoeken nu in plaats van mijn code
With Range("A1:300") Set C = .Find(TBArtNr1.Value, LookIn:=xlValues, lookat:=xlWhole) If Not C Is Nothing Then On Error Resume Next Bij1 = CDbl(TBBij1.Value) Af1 = CDbl(TBAf1.Value) On Error GoTo 0 C.Offset(0, 11).Value = (C.Offset(0, 11).Value - Af1 + Bij1) Else MsgBox "Let op! Artikel 1 is niet te vinden, de gegevens ingevoerd bij art. 1 worden niet verwerkt." End If zetten? Het laaste stukje code Private Sub TBArtNr1_Exit(ByVal Cancel As MSForms.ReturnBoolean) TBOmschr1 = opzoeken(TBArtNr1) End Sub heb ik in de plaats van de door mij gebruikte code voor Private Sub TBArtNr1_Exit gezet. Maar is dit inderdaad een omslachtige en foutgevoelige oplossing? hoe zou ik dat beter kunnen doen dan? Ik ben dus echt nog een beginner op dit gebied en vind dit stukje heel lastig. Alvast hartelijk dank voor eventuele suggesties en meedenken! |
![]() |
| Labels |
| introductie, vba |
| Discussietools | |
| Weergave | |
|
|
|
|||||||
| Registreer | FAQ | Ledenlijst | Interessegroepen | Kalender | Zoeken | Berichten van vandaag | Markeer forums als gelezen |