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

optellen en aftrekken in programmacode wordt genegeerd.

Status
Niet open voor verdere reacties.

VanBasicNaarExe1

Gebruiker
Lid geworden
21 jan 2018
Berichten
43
INLEIDING

In mijn zoektocht om EXCEL beter te leren kennen ben ik bezig met het wijzigen van andere vakjes dan waar ik in bezig ben.

Ik heb hier een klein voorbeeldje van een voorraad.



TOT HOEVER IK GEKOMEN BEN

Het is gelukt om een voorraad-aantal te wijzigen of een locatie te wijzigen.
Wat ik nu wil is met een pulldown menu een keuze in te stellen.

Of af te boeken met het ingevoerde aantal,
Of bij te boeken met het ingevoerde aantal,
Of te wijzigen in het ingevoerde aantal.


Daarvoor programmeer ik in de programmacode.

Er is een logbestand wat meeloopt om alle wijzigingen te noteren.
Alleen een wijziging van de pulldown (j4) bv correctie naar bijboeken (oid) geeft een blanco regel in het logbestand. Ik snap niet waarom dat zo gebeurd.


HULPVRAAG

En het optellen en aftrekken werkt niet ondanks dat ik daar een if-then voor gebruik.

meer info 'achter' het tabblad in de programmacode.


Wat heb ik over het hoofd gezien?

Martin

- - - - -
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, [j6]) Is Nothing Then

Application.EnableEvents = False


Set a = Range("b3:b6").Find([j2].Value)
If Not a Is Nothing Then

oa = a.Offset(, 2).Value
ol = a.Offset(, 4).Value
so = [I4]

r = Range([b3], a).Rows.Count
End If
Set b = [b2:g2].Find([k2].Value)
If Not b Is Nothing Then
k = Range([c2], b).Columns.Count
End If

'******************************************************************
'* vanaf hier gebeurt niet wat ik wil
'*
'* nw (=nieuw) is de variabele om in het logbestand (apart tabblad) aan te geven wat er ingevoerd was
'* na (=aantal nieuw) , dat wordt de nieuwe waarde na bijboeken, afboeken of correctie (pulldown i4)
'*
'* Er wordt niets opgeteld (bijboeken) of afgetrokken (afboeken)
'* alleen wordt het nieuwe aantal steeds overschreven (wat wordt gedaan voor correctie)
'* de waarde nw wordt niet 'gevuld' met de ingevoerde waarde van J5
'*

nw = na 'de zojuist ingegeven waarde (nw=nieuw)

If so = "bijboeken" Then 'so = soort wijziging ( bijboeken, afboeken of correctie ) uit i4
na = oa + na
End If

If so = "afboeken" Then
na = oa - na
End If





[b2].Offset(r, k) = [j6]

na = a.Offset(, 2).Value
nl = a.Offset(, 4).Value

[j6 ].ClearContents

End If

With Sheets("log")

.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 7) = Array(CDate(Now()), so, oa, nw, na, ol, nl)






End With

Application.EnableEvents = True
End Sub
 

Bijlagen

Laatst bewerkt:
Ondanks deze wijziging wordt er niets afgetrokken of opgeteld.
Alle keuzes (afboeken, bijboeken, correctie) worden als correctie gezien.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan