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

verschillende macro uitvoeren na een enter in cel

Status
Niet open voor verdere reacties.

Gerald Baalhuis

Gebruiker
Lid geworden
14 jan 2006
Berichten
369
In bijgaand Excel sheet kunnen we m.b.v. een barcode scanner bijhouden welke opdrachten gereed zijn.
Het werkt op twee dingen na:
1. De scancode wordt 'ingelezen' in cel B3. De scanner geeft aan het einde van de scan een enter, zodat de cursor naar een andere cel gaat.
Graag zou ik na deze enter willen de zoek macro gestart wordt. Dit gaat nu nog mbv een commandbutton.
Als de barcode gevonden is, belandt de cursor in één van de cellen in kolom B en wordt de regel gekleurd.
Als ik echter de Enter van de barcode ook automatisch een macro wil laten starten dan komt er een melding dat er een dubbele Worksheet_Change(ByVal Target As Range) bestaat.

Verder wil ik nog één ding in het bestand opnemen:
op de opdracht die gescand wordt staat een tweede barcode (een nummer).
Dit nummer is het aantal geproduceerde zakjes van die batch.
Dit getal wil ik graag in kolom T zetten.
Misschien is het zelfs mogelijk om de twee codes eerst te scannen en daarna te gaan zoeken en dan de tweede gescande code in te vullen...

Alvast weer bedankt voor het meedenken...

Gerald
 

Bijlagen

  • reelafhandeling.xlsm
    91,6 KB · Weergaven: 117
Mij lijkt dit voldoende:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$B$3" And Target.Value <> "" Then Application.Goto Columns(1).Find(Target.Value).Offset(, 1), True
End Sub

En mij lijkt die opdrachtknop overbodig.

deze gebeurtenis kun je beperken tot:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 2 Then Target.Resize(, 14).Interior.ColorIndex = Choose(Weekday(Date, 2), 45, 4, 23, 27, 7, 18)
end sub

De kolom O lijkt me ook overbodig.
 
Laatst bewerkt:
Hoi Snb,

Allereerst bedankt voor je supersnelle reactie!!
BEdoel je dat jouw codes genoeg zijn om e.e.a. af te handelen?
Als ik alleen deze tweede codes in het werkblad plaats, dan gebeuert er niets. alleen blijft de marco lopen...
Volgens mij worden ook de cellen D2 t/m I2 niet meer herberekend.
Maar ik ga eer even mee stoeien.

Gerald
 
Ik denk dat je alle macromodules kunt verwijderen en in de macromoduel van werkblad 1 alleen de volgende code nodig hebt:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$3" And Target.Value <> "" Then
        Columns(1).Find(Target.Value, , xlValues, xlWhole).Offset(, 1).Resize(, 14).Interior.ColorIndex = Choose(Weekday(Date, 2), 45, 4, 23, 27, 7, 18)
        
        ReDim sn(5)
        For Each cl In Range("P9:P900")
            If cl.Interior.ColorIndex <> xlNone Then
               x = Application.Match(cl.Interior.ColorIndex, Array(45, 4, 23, 27, 7, 18), 0)
               sn(x - 1) = sn(x - 1) + cl.Value
            End If
        Next
        
        Application.EnableEvents = False
        Range("D2:I2") = sn
        Application.EnableEvents = True
        
        Application.Goto Columns(1).Find(Target.Value, , xlValues, xlWhole).Offset(, 1), True
    End If
End Sub
 

Bijlagen

  • __reelafhandeling snb.xlsm
    76,1 KB · Weergaven: 119
Laatst bewerkt:
SNb,

Hij is perfect!!! Ik sta er elke keer weer van te kijken hoe jullie het voor elkaar krijgen !!!!

Heel erg bedankt!!!

Gerald
 
scancode in textbox van userform

Ik heb met grote dank aan dit forum, nog wat verder geknutseld aan het bestand.
Nu zou ik graag de volgende twee dingen nog willen:

1. Na het kiezen van de machine in Userform1 direct deze waarde in de desbetreffende cel plaatsen zonder op de OK knop van het userform te drukken.
2. Na het scannnen van het reelnummer in Userform2 een enter geven en de gescande waarde plaatsen in de desbetreffende cel zonder ook hier op de OK knop te hoeven klikken.

Soms wordt een gescande barcode uit cel B3 niet gevonden en krijg ik een foutmelding.
Het viel mij op dat na de 'macro' in het zoeken en vervangen scherm een vinkje geplaatst wordt bij de optie "Identieke celinhoud", ligt het wellicht daaraan?

Zie bijgevoegd bestand

Met vriendelijke groet,

Gerald
 

Bijlagen

  • Reelafhandeling.xlsm
    57,2 KB · Weergaven: 58
1. Na het kiezen van de machine in Userform1 direct deze waarde in de desbetreffende cel plaatsen zonder op de OK knop van het userform te drukken.
2. Na het scannnen van het reelnummer in Userform2 een enter geven en de gescande waarde plaatsen in de desbetreffende cel zonder ook hier op de OK knop te hoeven klikken.

welke cellen respektievelijk ?
 
Beste snb,

Als in cel B3 een barcode wordt ingevoerd met een scanner, zoekt de vba code de juiste rij. In deze rij moet in kolom O de machine ingevuld worden die in userform 1 met de combobox wordt geselecteerd.
Als in cel B4 een barcode wordt ingevoerd met een scanner, zoekt de vba code de juiste rij. In deze rij moet in kolom W het reelnummer ingevuld worden dat in userform 2 via de textbox wordt ingevoerd.

Kan je hier wat mee?

Groet,

Gerald
 
Cfr. de bijlage.
 

Bijlagen

  • __Reelafhandeling snb 002.xlsm
    52,6 KB · Weergaven: 80
Beste snb,

Het is niet helemaal wat ik bedoelde, wellicht ligt dat aan mijn uitleg.

Ik krijg nu keurig jouw Userform met één combobox en een textbox als ik iets invoer in B3 of B4.
Het is eigenlijk de bedoeling dat als iets wordt gescand in cel B3 alleen een machinekeuze kan worden gemaakt en dat dit userform met een enter in de combobox kan worden afgesloten.
De machinenaam moet dan in de cel in kolom O komen op de rij waar de gescande code gevonden is.
De machinenaam moet dan in cel
Zodra ik een machine kies, krijg ik echter een foutmelding. (error 91)
Als echter in B4 iets wordt ingevoerd moet in het userform het reelnummer ingevoerd worden en afgelsoten met een enter.
Deze scanwaarde moet dan in kolom W komen op de regel waar de gescande code is geonden.
Ook hier krijg ik na het invoeren een 91 error.....

Maar alvast weer bedankt voor je inzet!

Gerald
 
Je mag het useerform zo aanpassen dat, als B3 is gewijzigd, alleen de combobox zichtbaar is en als B4 is gewijzigd alleen het tekstvak zichtbaar is.
2 userforms is echt teveel van het goede, zeker als je weet dat met hide/show het userform gewoon in het geheugen blijft en sneller wordt getoond.
 
Beste Snb,

Ik heb gisteren het werkblad aan onze apotheker laten zien. Hij was erg enthousiast en gaandeweg kregen we nog wat ideeën.

Als je met vooral het VBA gedeelte verder wilt helpen, zou dat geweldig zijn!

Als je wilt kan ik je het 'proces'beschrijven, dan heb je een beter beeld van hoe en wat.

Dat maakt denk ik de vragen en verzoekjes die de apotheker had meer duidelijk.

Laat even weten of je dat ziet zitten.


Met vriendelijke groet en grote dank!

Gerald
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan