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

meerdere kolommen gelijktijdig invullen met listbox

Status
Niet open voor verdere reacties.

AD1957

Verenigingslid
Lid geworden
27 feb 2016
Berichten
1.990
Hallo forumleden,

Ik heb een begrotingsprogramma en in principe werkt het perfect.
Meerdere kolommen worden gevuld via een vertzoeken functie.
Nu wil ik via een VBA in de listbox af van al de formules.
Ik loop steeds tegen het probleem op dat er formules worden verwijderd omdat ik ook regelmatig dingen moet
invullen die niet in de artikellijst staan. (blokkering van de cellen is dus geen optie)

Tot nu lukt me dat alleen in kolom A
Is er een mogelijkheid om dit ook in kolom B,C,E te verwezenlijken.
Ik heb al veel geprobeerd, maar het loopt steeds vast.

Groet en dank,
Albert
Bekijk bijlage BEGROTING helpmij.xlsb
 
Volgens mij is dit wat je zoekt:
Code:
Private Sub ListBox1_Click()
 With ListBox1
     If .ListIndex > -1 Then
          i = Cells(Rows.Count, 1).End(xlUp).Row + 1
          Cells(i, 1).Value = .List(.ListIndex, 0) 'artikelcode
          Cells(i, 2).Value = .List(.ListIndex, 6) 'artikelnr. leverancier
          Cells(i, 3).Value = .List(.ListIndex, 1) 'omschrijving artikel
          Cells(i, 5).Value = .List(.ListIndex, 4) 'bruto prijs
     End If
 End With
End Sub
 
Laatst bewerkt:
Hoi Peter,

Eerst even een bedankje,

op zich werkt het goed, echter nog een probleem.

Als ik op cel A13 de cursor zet wordt de rij 2 ingevuld.
Mischien iets met activecell???
Zelf heb ik al veel geprobeerd maar krijg het niet goed.
Heb jij hier een oplossing voor.

Is er trouwens een opdracht te bedenken om de rij weer leeg te maken (als ik bijvoorbeeld een fout artikel heb geselecteerd)


Groet,
Albert
Bekijk bijlage BEGROTING helpmij.xlsb
 
Ik zie het al. Wat de code doet is de laatst gevulde regel zoeken. Hij kijkt hierbij naar kolom A. En daar is de laatst gevulde cel A1. Eenvoudig op te lossen door ofwel een header op te nemen in A12 (zoals ook in A1 staat). Anders de laatste regel zoeken in bv. kolom B.

V.w.b. het leeg maken. Ik zeg dat dit natuurlijk kan. Maar de vraag is hoe je dit zou willen, en wat je dan met de navolgende regels zou willen doen.

Ik kan mij voorstellen dat je bv. de waarde in kolom A verwijderd, waarbij ook de overige waarden op die regel worden gewist (de werking zoals deze was met de formules). Maar deze wens is natuurlijk ook anders in te vullen. Bv. door een dubbelklik op een regel. Ook kan natuurlijk iets worden verzonnen om te zorgen dat er geen lege regels in de lijst voorkomen door na het wissen automatisch de overige regels naar boven te zetten.

Geef maar aan wat je wilt.
 
Hoi Peter,
Hoe dit opgelost moet worden is voor mij als leek acradabra....
Het zou eigenlijk zo moeten werken als met de formules.

Met formules werkt het perfect, kan wijzigen wat ik wil, ook tussen de rijen in.
Weet niet of hier een oplossing voor is, zelf lukt me dat niet.
Groet,
Albert
 
Nu heb ik bijvoorbeeld de mogelijkheid om regels open te laten.
Kan ik later altijd nog iets ertussen zetten.
Dat lukt met de nieuwe code niet
 
de eerste pagina lukt nog wel, maar als ik deze niet helemaal vul krijg ik problemen op de2e en volgende paginas.
Totaal aantal pagina's is nu acht stuks.
Maar bij grotere begrotingen kan ik die nog uitbreiden naar meer.
 
Ik zal eerlijk bekennen dat ik blad2 sowieso niet had gezien. M.i. maak je het jezelf heel moeilijk door de opmaak van het blad te gebruiken in je invulsheet. Ook denk ik dat je te maken kunt krijgen met afrondingsverschillen bij grotere offertes. Gaat natuurlijk maar om centen, maar toch ...

Ik zou dus gewoon bij regel 13 beginnen met invullen en vervolgens Excel zelf de paginaknip laten bepalen. Eventueel kun je regels aan de bovenzijde herhalen bij printen d.m.v. "Print titles".
 
Ik zal eerlijk bekennen dat ik blad2 sowieso niet had gezien. M.i. maak je het jezelf heel moeilijk door de opmaak van het blad te gebruiken in je invulsheet. Ook denk ik dat je te maken kunt krijgen met afrondingsverschillen bij grotere offertes. Gaat natuurlijk maar om centen, maar toch ...

Ik zou dus gewoon bij regel 13 beginnen met invullen en vervolgens Excel zelf de paginaknip laten bepalen. Eventueel kun je regels aan de bovenzijde herhalen bij printen d.m.v. "Print titles".
 
Hoi Peter,
Je hebt gelijk, beginnen bij regel 13, en de titels vergeten.
Denk zelf dat ik met een paar aanpassingen het wel aan de praat krijg.

Een groot probleem voorzie ik wel nog. Als ik ergens rijen openlaat om deze op een later tijdstip alsnog in te vullen????
wat gebeurt dan. Moet ik nog eens uitproberen.


Groet en dank,
Albert
(ik zal de vraag bij deze afmelden)
 
Als je bewust rijen open wilt laten dan moet een andere oplossing worden gezocht. Bv. door op de gewenste regel te gaan staan en dan op die regel een product invoegen. Dit lijkt mij erg omslachtig werken, want dan moet je iedere keer het form sluiten. Als je een button maakt op de form die een lege regel invoegt, met bv. een "-" in kolom A dan loop je er weer tegenaan dat je niet kunt bepalen op welke regel je iets tussen wilt voegen.

Succes!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan