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

melding bij ingave

Status
Niet open voor verdere reacties.

W Bloemendal

Gebruiker
Lid geworden
28 jan 2001
Berichten
503
Hallo als ik in cel B2 gegevens invoer worden gegevens uit een uit database gehaalt. Als er geen gegevens uit de database gehaald kunnen worden komt er in G2 een 1 staan.
Nu heb ik de volgende code voor het werkblad.

Code:
 Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Row = 2 And Target.Column = 2 And Target.Value = "300156593" Then Application.Goto reference:="spec6"

    If Target.Address = "$B$2" Then
    MsgBox "Gegevens in blad invoer invoeren.", vbExclamation = IIf(Cells(2, 7) = 1, True, False)
    End If
End Sub)

Maar ik krijg de melding altijd of ik nu een goede of foute invoer doe.

het bovenste werkt wel goed daar wordt ergens heen gegaan als er een bepaalde waarde ingevoerd wordt
Wim
 
Laatst bewerkt:
Je controleert of de huidige cel B2 is en toont dan het bericht. Als de huidige cel inderdaad B2 is wordt dat bericht altijd getoond. Je moet dus op de waarde controleren en niet op het adres.
 
Deze code geldt enkel voor cel B2 en denk er aan dat "300156593" niet gelijk is aan 300156593 :

Code:
 Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Row = 2 And Target.Column = 2 And Target.Value = "300156593" Then
      Application.Goto reference:="spec6"
        Exit Sub
     End If
         MsgBox "Gegevens in cel B2 correct invoeren.", vbExclamation = IIf(Cells(2, 7) = 1, True, False)
End Sub
 
Edmoor ik controleer toch of er in B2 iets ingegeven wordt en dan kijk ik wat de waarde is in G2 en aan de hand daarvan komt het bericht.

Of zie ik het verkeert


Cobbe bij je code krijg ik de melding "end if zoder blok if"

wim
 
Je geeft met die controle alleen maar aan of er een uitroepteken in de berichtenbox moet komen. Maar dat is denk ik ook niet goed. Het bericht wordt sowieso op het scherm gezet.
 
Laatst bewerkt:
Cobbe bij je code krijg ik de melding "end if zoder blok if"

Je zegt zo maar iets.
Als je met mijn code in B2 iets anders invult dan 300156593 krijg je een melding
anders wordt er naar cel spec6 gesprongen.
 
Ik had het bestand voor de duidelijkheid zodat je kan zien wat de bedoeling bij willen voegen maar het is 1 Mb dus dat gaat niet werken. Ik heb bladen gegevens en macro's verwijderd maar het bestand blijft 1 MB.

Ik probeer het even beter uit te leggen

in B2 wordt een Artikel nummer ingegeven dan wordt in G2 gekeken of deze in de lijst voorkomt (zo niet msgBox)
De lijst heeft inmiddels 19000 artikel nummers deze zijn g cijfers lang van b.v 130.000.000 tot 330.345.666 deze zijn niet op een volgend maar staan wel gesorteerd.

Komt het artikel nummer wel voor in de lijst dan worden daar de gegevens van op gehaald uit de lijst en verder mee gewerkt.

Komt het nummer in de lijst niet voor dan moet er het bericht komen dat je op blad invoer de gegevens van dat artikel moet invoeren, deze worden dan automatisch aan de list toe gevoegd.

Het heeft zonder msgbox altijd goed gewerkt omdat ik dit steeds de gegevens in voerde maar nu moeten ook andere de gegevens in voeren, dat geeft wel eens verkeerde ingaves daarom ben ik aan wijzigingen en beveiligingen aan het aan brengen


Wim
 
Ik zie je nog steeds niet op de juiste waarden controleren. Hierbij een poging:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$2" Then
        If Target.Value = "300156593" Then
            Application.Goto reference:="spec6"
            Exit Sub
        End If
        
        If Val(Cells(2, 7)) = 1 Then
            MsgBox "Gegevens in blad invoer invoeren.", vbExclamation
        End If
    End If
End Sub
 
Laatst bewerkt:
Hoi Edmoor zo werkt het wel maar nu heb ik hier bij een ander probleempje er is niet een verwijzing naar een special maar meerdere

Code:
    If Target.Value = "202005549" Then Application.Goto reference:="spec1"
    If Target.Value = "300076263" Then Application.Goto reference:="spec2"
    If Target.Value = "300087928" Then Application.Goto reference:="spec3"
    If Target.Value = "300071064" Then Application.Goto reference:="spec3"
    If Target.Value = "300100178" Then Application.Goto reference:="spec3"
    If Target.Value = "300153893" Then Application.Goto reference:="spec5"
    If Target.Value = "300153894" Then Application.Goto reference:="spec5"
    If Target.Value = "300153895" Then Application.Goto reference:="spec5"

Deze zouden er bij moeten. ik had alleen die ene er bij gezet zodat het bekent was dat zoiets er ook in moet.

Wim
 
ik heb het gevonden ik moet de volgende code er meer keer inzetten

Code:
If Target.Value = "300156593" Then
            Application.Goto reference:="spec6"
            Exit Sub
        End If

Wim


Bedankt voor het meedenken en de reacties
 
Ik zou het niet op je gevonden manier doen maar zo:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$2" Then
        Select Case Target.Value
            Case "202005549": Application.Goto reference:="spec1"
            Case "300076263": Application.Goto reference:="spec2"
            Case "300087928", "300071064", "300100178": Application.Goto reference:="spec3"
            Case "300153893", "300153894", "300153895": Application.Goto reference:="spec5"
            Case "300156593": Application.Goto reference:="spec6"
            Case Else
                If Val(Cells(2, 7)) = 1 Then
                    MsgBox "Gegevens in blad invoer invoeren.", vbExclamation
                End If
        End Select
    End If
End Sub
 
Laatst bewerkt:
Dit is wel korter.

zo zullen met bepaalde dingen met Vba meer mogelijkheden zijn maar ik ben geen expert met vba maar ik probeer wel van alles en dan is het m.b.v helpmij toch wel wat op te lossen.
 
Vragen staat vrij :)
 
Dit is wel korter.

zo zullen met bepaalde dingen met Vba meer mogelijkheden zijn maar ik ben geen expert met vba maar ik probeer wel van alles en dan is het m.b.v helpmij toch wel wat op te lossen.

Ik heb het ingevoerd en het werkt prima.

Wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan