VBA: zoeken in kolom D (vanaf D8) naar het grootste nummer + 1

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
947
Beste Helpmij'ers,

Ik ben bezig met een rittenadministratie in Excel en ga middels een VBA van kolom B naar C enz. en moet soms een cel overslaan. Dat werkt prima, echter wil ik wanneer deze voorbij kolom D (actieve regel) springt dat hij kijkt (tot regel 1000) wat het hoogste nummer is en dat hij deze met 1 ophoogt en invult.

Alvast heel erg bedankt.

Groeten, Robert
 
Hoi,
Post eens een vbtje en zal sneller geholpen worden
mvg
 
Hoi,
Ik heb uw bestandje eens grondig bekeken en ik vraag mij af waarom je niet met een invulformuliertje werkt.
Als je mij eens doorgeeft welke velden er moeten worden ingevuld met de juiste kolom maak ik zoiets wel aan voor jou. Bv datum in B, ritcode in C enz
Lijkt mij in ieder geval een stuk makkelijker.
Hierbij een vbtje in welke richting ik denk

Groet
 

Bijlagen

Super bedankt.

Wat ontzettend tof dat je iets met een userform voor mij wil maken, dat is een techniek die ik zeker ook onder knie wil hebben.

Vanaf het moment dat ik de vraag heb uitgezet heb ik ook niet stilgezeten en heb het bestand inmiddels aangevuld. Ik realiseerde mij dat je ook met een ander auto bedrijfsritten kan maken, zelfs op de fiets erkend de fiscus als wettig vervoermiddel.

Userform
Graag zou ik willen:
1. dat het scherm het kenteken van het laatste voertuig laat verschijnen;
2. De datum van vandaag, maar eenvoudig kan wijzigen in een andere datum;
3. De ritcode (leeg veld) (met herkenning van een vorige ritcode)
4. Ritnummer (automatisch doornummeren)
5. Beginkilometerstand (leeg veld)
6. Eindkilometerstand (leeg veld)
7. Totaal zelf berekend;
8. Vertrek (zal doorgaans hetzelfde zijn en dus moet dit veld het van de vorige keer aanhouden, maar zeker muteerbaar)
9. Bestemming (leeg veld) (hier mag een herkenning in wanneer de eerste letters worden ingetypt)Bekijk bijlage Rittenadministratie 2016.xlsm.
10. Alternatieve route (leeg veld) Deze mag ook leeg blijven.

Alle velden, ex. Alternatieve route, zijn verplichte velden!!!

Ik neem aan dat de kolommen voor zichzelf spreken.

Alvast heel erg bedankt voor de moeite ik ben jou hier echt dankbaar voor.

Groeten,
Robert
 
Hoi Robert,
Ok, ga ik me morgen wat verder in verdiepen , ik ben nu eenmaal een vroege vogel, rond 19:00 uur stop ik met nadenken:)
Groetjes
 
Hoi,
Heb een voorzetje, om u te laten weten dat ik er mee bezig ben .
Ik wil er verder nog een zoekfunctie en ingave aanpassen inbouwen maar ik struikel over uw kolom E en I en vind voorlopig geen oplossing.
Alvast dit
Groet
 

Bijlagen

Kolom E en I kan je weghalen dienen nergens voor;) Heb je iets van een datepicker in jouw formulier zitten? Ik krijg nl een foutmelding bij het openen van het formulier "kan een object niet laden omdat het niet beschikbaar is op deze machine"

Nb. Gewoon een datum in 'rammelen' gaat veel sneller dan zo'n kalender. (als dit de oorzaak is van de foutmelding)
 
Hoi,
@Vena, bedankt voor de opmerking, heb inderdaad een datepicker inzitten, die gooi ik erdus uit:)
Wat betreft E en I, wilde in eerste instantie niets aan de layout veranderen maar uw suggestie is waarschijnlijk de beste
Groet
 
Ik word hier helemaal enthousiast van

Het ziet er al super uit en is mooier geworden dan ik verwacht had. Heb je nog iets nodig om het af te maken?
 
En waarom zou je het zelf niet afmaken? Of waar loop je nog tegen aan?
 
Ik begrijp dat die datepicker er nog uit moet, ik weet alleen niet wat dat is, laat staan dat ik weet hoe het moet. Natuurlijk wil en ga ik de rest waar nodig wijzigen. In ieder geval is dit een nieuwe dimensie voor mij en ben hier erg blij mee. Heel erg bedankt
 
ik heb deze regels op comment gezet = ' er voor zetten, en nu start het formulier wel op zonder fout melding.

'ws.Cells(iRow, 2).Value = Me.datum.Value

'Me.datum.Value = Date

'datum.Value = Date


Omdat de datepicker niet op het formulier staat verwijzen deze regels ook nergens naar.

Wat je denk ik moet doen is er een textbox in de plaats zetten op het userform met de naam " datum" maar heb ik zelf nog niet uitgeprobeerd.
 
Hoi,
In bijlage aangepaste versie zonder datepicker hopelijk werk het nu foutloos
@hellboy er stond wel degelijk een datepicker op het formulier
Groet
 

Bijlagen

Hoi gast0660, ik heb ook geen datepicker en dan laat het formulier een lege plek zien maar omdat je in je form initilise wel de datepicker aanspreekt geeft hij een foutmelding.
Door die datepickerregels uit te commenten werd de niet bestaande datepicker ook niet aangesproken en dus geen foutmelding. Maar hoe kom je aan een datepicker want ik kan hem niet vinden in de lijst aanvullingen van de toolbox?
 
Beste gast0660,

Als eerste wil ik jou complimenteren met een geweldig mooi (lees professioneel) stukje programmeerwerk. Het ziet er nu al veel beter uit dan ik ooit had mogen dromen. Ik hoop niet als lastig te worden gevonden om nog een paar wijzigingen aan te brengen zodat het helemaal perfect is:

Ik heb in kolom L op de regels 2 t/m 5 de optie waar de kentekens geplaatst kunnen worden, zie jij een mogelijkheid dat het systeem daar naar verwijst?

Bij veld "Ritcode" kan ik kiezen uit de laatst ingevoerde ritcodes, echter pakt hij niet de hele reeks (offerte staat er bijv. niet bij).
Is het mogelijk dat deze techniek ook bij "vertrek" en "bestemming" mogelijk is. NB Dat bij vertrek standaard (Assen) de meest gebruikte optie staat is perfect :thumb:

Tot slot zou het mooi zijn dat het systeem vraagt of je nog meer ritten wil boeken of het programma wil verlaten.

Wanneer dat gereed is ga ik zelf in de userform de kolomhoofden plaatsen (mits mij dat lukt, maar ga het zeker proberen.

Overigens ook nog de complimenten aan de overige heren voor jullie constructieve inbreng.
 
Hoi,
@ hellboy
In de VBA editor besturingselementen aanklikken, met rechtermuisklik in het venstertje besturingselementen extra besturingselementen.... daarna ga je op zoek naar
microsoft date and time picker control (deze aanvinken)
Zit bij mij erin vanaf versie 2010
@ Robert
1.hartelijk dank voor de pluim op mijn hoed:)
Wat betreft Ritcode, kijk eens in de pagina Data, vul de kolom ritcode in naar believen (oa Offerte). Ik heb de range ingesteld tot en met 500 (500 verschillende ritcodes)
Hetzelfde is van toepassing op de nummerplaten.
Wat betreft vragen voor meer boekingen geen probleem, kan ik er nog bijvoegen, maar gewoon de knop velden wissen gebruiken en een nieuwe boeking invullen doet net hetzelfde.
Wat betreft de kolomhoofden, je kan met labels werken, maar de layout valt meestal tegen. De optie colomheaders true in de listbox eigenschappen is blijkaar tricky, ik heb er niet direct een oplossing voor
Ik heb in kolom L op de regels 2 t/m 5 de optie waar de kentekens geplaatst kunnen worden, zie jij een mogelijkheid dat het systeem daar naar verwijst?
Deze is wat onduidelijk
Groet
 
Hoi Robert,
Wat betreft vragen voor meer boekingen geen probleem, kan ik er nog bijvoegen, maar gewoon de knop velden wissen gebruiken en een nieuwe boeking invullen doet net hetzelfde.
Wat betreft de kolomhoofden, je kan met labels werken, maar de layout valt meestal tegen. De optie colomheaders true in de listbox eigenschappen is blijkaar tricky, ik heb er niet direct een oplossing voor
Deze zijn opgelost
Zie nieuwe versie in bijlage
Ik heb een klein grapje erin gestoken (ik weet het heb nu eenmaal een slecht karakter, maar schijnt beter te zijn als geen:))
Aan u de uitdaging om het grapje te vinden in vba
 

Bijlagen

Hoi gast0660,
zou je mischien jouw code voor het vullen van de listbox willen uitleggen want ik snap niet hoe dat werkt. Ik vind dat wel heel interessant hoe jij de listbox weet te vullen. Alvast bedankt

Code:
ListBox1.List = Sheets("Rittenadministratie").Range("a8:l" & [a65536].End(3).Row).Value

groetjes rob
 
Laatst bewerkt:
Hoi Hellboy01

ListBox1.List
Hier willen we een lijst in het object Listbox1
= Sheets("Rittenadministratie")
Van welk werkblad moeten de gegegevens komen?
Range("a8:l" & [a65536]
Welke gegevens moeten in de lijst komen? In dit vbtje vanaf cell A8 tot op het einde van het werkblad in kolom L
Dit is de zoekrichting, kan je vervangen door End(xlUp)
Groet
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan