Verplicht invoer in excel als ...

Anoniem
2018-08-13T09:39:06+00:00

In een excel file die door verschillende aanvragers ingevuld wordt zou ik graag het volgende afdwingen:

Indien er een waarde ingevuld is in kolom A; dan moet het veld in kolom G ingevuld zijn.

Ik heb reeds een poging ondernomen door met drop down / data validatie de juiste invoer te bekomen in kolom G (is een vereiste omdat er vlookup naar G ingesteld is) maar dit verhindert niet dat de cel leeg kan blijven.

Is er iemand die kan helpen met de VBA code die hiervoor gebruikt kan worden?

Voorbeeld met mogelijke scenario's:

  • Als A1 = leeg: geen probleem
  • Als A1 = ingevuld en G1 is correct ingevuld: geen probleem
  • Als A1 = ingevuld en G1 = leeg: message box met instructie om G1 correct in te vullen (enkel keuze uit drop down)

En dit dus per rij...

Alvast bedankt!

Microsoft 365 en Office | Excel | Voor thuisgebruik | Windows

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt stemmen of het nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen. Gebruikersprofielen voor gemigreerde vragen worden geanonimiseerd om de privacy te beschermen.

0 opmerkingen Geen opmerkingen
{count} stemmen
Answer accepted by question author
  1. Anoniem
    2018-08-13T10:33:08+00:00

    Dag DieterDJ1, 

    Hoewel vragen over VBA buiten de scoop van het forum valt kan het zijn dat er forumleden werkzaam zijn die bekend genoeg zijn met VBA je verder te kunnen helpen.  Je zou daarom enkele reacties kunnen afwachten.  

    Daarnaast zou je de vraag tevens kunnen voorleggen op het MSDN-forum van Microsoft. 

    En VBA-refentie kun je hier vinden indien je je wilt verdiepen in VBA: 

    VBA-reference.

    Mocht je hierop terug willen komen, laat het gerust weten.

    Met vriendelijke groet, 

    Robert

    0 opmerkingen Geen opmerkingen

1 extra antwoord

Sorteren op: Meest nuttig
  1. Anoniem
    2018-08-13T17:12:48+00:00

    Dieter,

    Onderstaande code zorgt ervoor dat het werkboek niet kan worden opgeslagen als niet aan de voorwaarden wordt voldaan. Of is dat wat al te rigoureus?

    De code plaats je in de module met de naam ThisWorkbook.

    Ik ben er vanuit gegaan dat je de cellen in kolom A handmatig invult (geen formule dus).

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

        Dim sh As Worksheet

        Dim rngS As Range

        Set sh = Worksheets("Blad1")

        For Each rngS In sh.Range("A:A").SpecialCells(xlCellTypeConstants)

            If Not IsEmpty(rngS) And IsEmpty(rngS.Offset(0, 6)) Then

                MsgBox "Op Blad1 dient " & rngS.Offset(0, 6).AddressLocal(False, False) & " te worden ingevuld"

                sh.Activate

                rngS.Select

                Cancel = True

                Exit For

            End If

        Next

    End Sub

    Jan

    0 opmerkingen Geen opmerkingen