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

VBA Loop met obv inputbox (type 8)

Status
Niet open voor verdere reacties.

Eggie

Gebruiker
Lid geworden
25 jan 2007
Berichten
74
Bekijk bijlage Loop met inputbox.xlsEen goedeavond,

ik heb een exelfile met 2 sheets, een sheet met data waar een bepaalde waarde aan toegevoegd moet worden en in database waarin deze waarde opgezocht moet worden. De opzoekwaarde hangt van vier variabelen af.

Echter aangezien het format variabel is wil ik gebruik maken van inputboxes. Ik heb een bestand toegevoegd om e.e.a. te verduidelijken aangezien het nogal lastig is om uit te leggen.

Heb al een stukje vba geschreven, waar waarschijnlijk nog niet al te veel van klopt :confused:.

Ben benieuwd of hier mogelijkheden voor zijn.. Alvast bedankt voor jullie hulp!!

Groet,

Eggie
 
als ik het goed begrijp is het dat je de 4 waarden op 1 rij wilt kopieeren naar database sheet en daar optellen en dan weer terug plaatsen in uitkomst sheet.
Vervolgens dit voor elke rij. maar waarom? ik bedoel je ziet als het scriptje klaar is alleen de waarden van de laatste rij in de sheet database en waarom heen en weer kopieeren als je meteen de waarde kan berekenen en plaatsen in uitkomst?
 
Je maakt wel een paar foutjes.... Om te beginnen: je declareert variabelen als een Range (Waarde1 t/m Waarde4) maar je vult ze met een Inputbox: dat zal niet lukken. Een range moet verwijzen naar een cel(lenreeks) op je werkblad, niet naar de inhoud daarvan.
De variabele Resultaat zou dan een berekening moeten zijn van de ingevoerde waarden, en geen Inputbox.
 
Visha,

ik ben misschien niet helemaal volledig geweest in mijn vraagstelling, maar de optelsom die gemaakt wordt is slechts ter illustratie. De database is in werkelijkheid veel groter met diverse complexe calculaties die uiteindelijk tot een bepaalde waarde leiden.

Waar het om gaat is dat de 4 waarden van de Uitkomst sheet gekopieerd moeten worden naar de cellen op de sheet Database en dat het resultaat van de diverse calculaties in cel C7 weer gekopieerd wordt naar de Uitkomst sheet. En dit dan voor alle regels waar data in staat.

Tenslotte, omdat de Uitkomst sheet verschillende formats kan hebben dacht ik aan een inputbox zodat het regelnummer en het kolomnummer variabel gemaakt kunnen worden. Wellicht is hier een andere oplossing voor?

Bedankt!
 
Beste Michel,

ik had de waarden als range gedeclareerd omdat deze naar een inputbox type 8 verwijzen, maar dat is dus wellicht niet goed... De reden dat ik ook voor het "resultaat" een inputbox aan wilde maken is omdat ook de kolom waar het resultaat moet komen variabel is. Op deze wijze kan de gebruiker de cel selecteren waar de uitkomst moet komen te staan.

In ieder geval bedankt voor je feedback!

Eggie
 
Je kunt wel met een inputbox werken om de range te bepalen maar je maakt het voor jezelf onnodig moeilijk. Bovendien bestaat de kans dat men de verkeerde cel kiest waarde de gegevens verkeerd komen te staan.
Het handigste (lijkt mij) is om een macro te gebruiken die de gegevens per regel in het 2e werkblad zet en vervolgens het resultaat in de E-kolom plaatst, waarna de volgende rij wordt ingelezen.

Bijvoorbeeld:
Code:
Sub Uitkomst()
Dim lRij As Long
    lRij = 2
    Application.ScreenUpdating = False
    While Sheet2.Range("A" & lRij).Value <> ""
        Sheet2.Range("A" & lRij & ":D" & lRij).Copy
        Sheet1.Range("C2:C5").PasteSpecial , Transpose:=True
        Sheet2.Range("E" & lRij).Value = Sheet1.Range("C5").Value
        lRij = lRij + 1
    Wend
    Application.ScreenUpdating = True
    
End Sub

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

dank voor je antwoord. Ik denk dat je me hiermee op het juiste spoor brengt, ik kom er morgen op terug.

Groet,

Eggie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan