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

Controle op range

Status
Niet open voor verdere reacties.

martijnbos

Gebruiker
Lid geworden
17 dec 2010
Berichten
101
Hoi allemaal,

Ik ben bezig om een controle te laten uitvoeren op cellen.
Ik heb hiervoor een code welke werkt, maar helaas te beperkt.

Wat ik graag wil is als volgt. Controleer de waarde in twee bereiken.
Eerste bereik is cel m1 tot m100. De andere range is b1 tot b100.
Wat hij moet doen is:
Stap 1: controleer of m1 een waarde heeft
Stap 2: M1 geen waarde, ga terug naar stap 1 en voer dit uit voor m2
Stap 3: M1 wel waarde, controleer of b1 ook een waarde heeft.
Stap 4: wel waarde, ga weer naar stap 1 en voer stap 1 uit voor m2
Stap 5: geen waarde, stop proces en geef messagebox en ga na het ok klikken naar het veld in kolom B welke leeg was

Hij moet dus dit doen voor voor reeks m1-b1, m2-b2, m3-b3 etc
Dus tot einde range



Ik heb nu de volgende code draaien(een deel van de code), maar deze is te beperkt.

Sub Controleerverstuur()
Dim c As Range, Blank, Teller
For Each c In Range("ref1")
If c.Value = Blank Then
MsgBox c.Offset(0, -1).Value & " veld referentie is leeg!"
Teller = Teller + 1
Else
End If
Next
If Teller > 0 Then
MsgBox "Kan het bestand niet versturen!"


Hoop dat iemand mij verder kan helpen.

Gr.
Martijn
 
Volgens mij heb je de essentie van wat je wil doen al te pakken. Ik heb helaas geen excel vandaag dus kan niets gedetailleerd uitwerken, maar uit de losse hand:

Code:
For Each mycell in [M1:M100]
if mycell.value <> "" then 'heeft een waarde
  if mycell.offset(0,-12).value = "" then 'm naar b is -12 volgens mij
    mycell.offset(0,-12).select
    msgbox ("deze cell is leeg")
    exit sub
  end if
end if
next
 
Laatst bewerkt:
bedankt, het werkt

bedankt. Ben supergoed op weg geholpen.

Dit is hem geworden.


Sub Controleerverstuur()
Dim m As Range, Blank, Teller
For Each mycell In [M1:M100]
If mycell.Value <> "" Then 'heeft een waarde
If mycell.Offset(0, -11).Value = "" Then 'm naar b is -12 volgens mij
mycell.Offset(0, -11).Select
MsgBox ("deze cell is leeg")
Exit Sub
End If
End If
Next
End Sub


ps: van m naar b is toch geen 12 maar 11


Maar superbedankt voor het antwoord
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan