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

Resultaat afhankelijk van 2 voorwaarden in VBA

Status
Niet open voor verdere reacties.

SKS

Gebruiker
Lid geworden
10 jan 2017
Berichten
5
Ik heb een bestand met een tabel met vragen.
Ik wil graag het volgende:
Als er in de Range B33 t/m E35 een 'Ja' staat
En er in de Range B44 t/m E44 een 'Nee' staat dan
Moet er in cel C48 'Ja' komen te staan

Staat er in de Range B44 t/m E44 geen 'Nee' dan moet er in cel C48 'Nee' komen te staan.

Het eerste deel lukt me met onderstaande:
Set Myrange = ws.Range("B33:E35")
For Each Cel In Myrange.Cells
If Cel.Value = "Ja" Then
IntSigMaj = 1
ws.Range("C48").Value = "Ja"
End If
Next

Maar de andere voorwaarde inbouwen lukt me niet.

Wie kan me hierbij helpen?

Met vriendelijke groet,

SKS
 
Hoi SKS,


Eerst een tip.
Zet je code (in dit forum) tussen Code Tags: begin met [ CODE] en eindig met [ /CODE].
(zonder de spaties)
Dat maakt het voor iedereen beter leesbaar.

voor je vraag:
Als ik het goed begrepen heb, moet dit een oplossing zijn:
Code:
Sub Ja_Nee()

Dim ws As Worksheet

Set ws = Sheets("Sheet1")
Set Myrange = ws.Range("B33:E35")
Set myrange2 = ws.Range("B44:E44")

ws.Range("C48").ClearContents 'verwijder huidige waarde in cel C48
For Each cel In Myrange.Cells
    If cel.Value = "Ja" Then
        
        For Each cel2 In myrange2.Cells    'Als 'Ja' gevonden, loop door 2e range
            If cel2.Value = "Nee" Then
                IntSigMaj = 1
                ws.Range("C48").Value = "Ja"
                Exit For    'Een 'Nee' is gevonden. stop de For Each loop
            End If
        
        Next
        If IntSigMaj = 1 Then Exit For 'de gevonden combinatie is gevonden. stop de For Each loop
    End If
Next
End Sub


Lambert
 
Hoi Lambert,

Allereerst mijn excuses voor de late reactie en dank voor de tip over de code.
Mijn sheet werkt nu bijna helemaal zoals ik het wil.

Echter als het antwoord in myrange2 "Nee" is, dan wordt er in cel C48 niet gevuld met een "Ja" maar blijft/wordt hij leeg.

Zou je hier nog een oplossing voor kunnen verzinnen?

Alvast bedankt!

Groeten van SKS
 
Maar natuuurlijk.
één regel toegevoegd.
Code:
Sub Ja_Nee()

Dim ws As Worksheet

Set ws = Sheets("Sheet1")
Set Myrange = ws.Range("B33:E35")
Set myrange2 = ws.Range("B44:E44")

ws.Range("C48").ClearContents 'verwijder huidige waarde in cel C48
For Each cel In Myrange.Cells
    If cel.Value = "Ja" Then
        
        [COLOR="#FF0000"]ws.Range("C48").Value = "Nee"[/COLOR]
        For Each cel2 In myrange2.Cells    'Als 'Ja' gevonden, loop door 2e range
            If cel2.Value = "Nee" Then
                IntSigMaj = 1
                ws.Range("C48").Value = "Ja"
                Exit For    'Een 'Nee' is gevonden. stop de For Each loop
            End If
        
        Next
        If IntSigMaj = 1 Then Exit For 'de gevonden combinatie is gevonden. stop de For Each loop
    End If
Next
End Sub


groet,
 
Wat kan het leven soms makkelijk zijn: 1 extra regeltje....
Hartelijk dank voor je antwoord.

Alles werkt nu zoals gewenst!

Groeten van SKS
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan