• 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 (specifieke) tabellen vullen adhv code's

Status
Niet open voor verdere reacties.

DeToekomst2

Gebruiker
Lid geworden
29 jul 2016
Berichten
91
Middag,

<Ik stel deze vraag opnieuw omdat ik er nog steeds niet uit ben>

Ik heb een vraag.
Ik heb een bestand met een invullijst, een werkblad met dozen en een aantal werkbladen met tabellen. Nu kan ik met de invullijst alle tabellen al invullen maar ik wil tijdens het invullen ook een doos nummer invoeren. Met dat nummer geef ik aan in welke doos dit artikel moet.
Ik wil nu een VBA die het artikel in de juist doos plaatst. Daarbij moeten er meerdere artikels in één doos geplaatst kunnen worden.
Nu heb ik er al een VBA code in staan die mijn ingevoerde artikel opzoekt in tabellen en waarin ik de data kan veranderen. Als antwoord op mijn vorige vraag kreeg ik de volgende code:

Code:
Sub InDoos()
    Doosnummer = Range("h4")
    Artikel = Range("B4")
    Sheets("Dozen overzicht").Select
    Cells.Find(What:=Doosnummer, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
        
    For X = 2 To 9
    If ActiveCell.Offset(rowOffset:=X, columnOffset:=-1) = "" Then
    ActiveCell.Offset(rowOffset:=X, columnOffset:=-1) = Artikel
    Artikel = ""
    Else
    End If
    Next X
    
End Sub
(Van Quiby)

Deze werkt tot op zekere hoogte. Ik wil de code van de doos invoeren in de invoertabel. Wanneer ik op de knop 'invoeren' druk worden de gegevens in de tabellen ingevuld (bij het betreffende artikel) inclusief de doos code. Nu is het zo met bovenstaande code dat bij het indrukken van de knop invoeren alle gegevens ook worden overgenomen naar het dozen blad, terwijl hier alleen de artikelcode moet staan.

Ik dacht dat het misschien een idee was dat de artikels niet vanuit de invoertabel in de dozen worden geplaatst maar via een andere macro (die activeert bij het indrukken van een knop bijv.) en dan de artikels in alle tabellen naloopt en deze invoert in de juiste doos. Dan wordt de doos code wel ingevoerd via de invoertabel maar deze code wordt pas gebruikt als deze al in de tabel staat. Op die manier kan voorkomen worden dat alle gegevens van het artikel worden overgenomen.
Ik ben nog lerende in VBA dus ik kan dat zelf niet voor elkaar krijgen, ik hoop één van jullie wel...

Verder nog de volgende dingen:
Bij het invoeren van het artikel in de doos moet er gekeken worden naar de volgende voorwaarden:
- Een artikel mag niet 2 keer voorkomen. Dat zou betekenen dat een artikel meerdere malen bestaat en dat is nooit.
- Een doos mag niet 'overstromen'

Verder staat in het voorbeeldbestand ook het een en ander aangegeven waardoor ik hoop dat het helder is zo.

Succes en alvast bedankt voor de moeite!
 

Bijlagen

Tabellen vullen

Beste,

Access zou merkelijk beter zijn voor deze invoer met automatisatie naar tabellen, hier is natuurlijk wat werk aan maar dit is goed te doen.
Ik zou dit zekerlijk niet in excel maken gelet minder geschikt.
Ik kan u wel helpen met een opzet in msaccess maar de volledige applicatie maken kan wel niet gratis.

groetjes,
Marc.
Senior programmeur.
 
@ActionData

Dag, ik ben van mening dat het zeker kan. Ik kan namelijk ook al van de invullijst alle tabellen vullen. Nu wil ik alleen van de invullijst naar de dozen. Echter hebben nu de dozen (tabellen) een naam waar op gezocht moet worden.

Ik heb zelf ook nog nooit met Acces gewerkt en binnen het bedrijf wordt het ook door niemand gebruikt, daarom mijd ik dat liever.

In ieder geval bedankt voor de reactie!


@RonWeb1

Ik weet niet precies wat je met deze reactie wil... Moet ik een invulformulier gebruiken of moet ik uitleggen hoe het mijne is gemaakt?

Nadere info aub:)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan