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

Zoek neer lege cel in 3 ranges op 1 Rij

Status
Niet open voor verdere reacties.

wolf_edgar

Gebruiker
Lid geworden
5 nov 2004
Berichten
8
Hallo, ik wil op 1 rij in 3 ranges op die rij weten wat de eerste lege cel is? Ik heb dus bijvoorbeeld range A2 tm E2 , F2tmI2, en J2;M2 .

Ik heb dit geprobeerd

ARange = Range("A2:E2").End(xlToRight).Column
Cells(5, 5) = ARange
BRange = Range("F2:I2").End(xlToRight).Column
Cells(5, 6) = BRange
CRange = Range("J2:M2").End(xlToRight).Column
Cells(5, 7) = CRange

Maar dan krijg ik 15,15,15 terug, hij ziet dus wel dat de laatste lege cel in mijn dummy file rij P is , maar hij zoekt niet in de opgegeven range.

Wat doe ik verkeerd, of hoe zou het anders kunnen.
 
Als ik een cel leeg werkt het wel

Ik had in mijn dummy file rij2 tot "P" vol met waarden.
Ik heb nu een aantal waarden weggehaald en nu werkt het wel. :rolleyes:

Maar als er in range A2 tot E2 GEEN lege cellen zijn zoekt hij buiten de range naar een lege cel.

Dit wil ik niet, als er geen lege cellen zijn zou ik willen zien "fout geen lege cellen" (of iets in die geest).

Als hij maar niet zoekt buiten de range.........
Iemand ideeen?
 
Hoi Edgar,

Waarom met VBA werken als het Excel kan?

=9-GROOTSTE(ISLEEG($A$2:$E$2)*(9-KOLOM($A$2:$E$2));1)

Dit invoeren als een matrix-formule (Shift & Crtl indrukken als je op Enter drukt).

Jeroen
 
Het is onderdeel van

Hoi Jeroen,

Dit stukje VB code is een klein stukje van vele bewerkingen die elkaar moeten opvolgen.

Vandaar VB,
 
Dit werk wel

Onderstaande functie werkt wel..... maar blijf het raar vinden dat bij die vorige hij zoekt buiten de range.

Misschien zou er iets bij moeten van, Als er geen lege cel is DAN....nu blijft hij natuurlijk zoeken.


Sub Test()
Dim c As Range
Range("E5:G5").Value = "Full"
For Each c In Range("A2:E2")
If IsEmpty(c) Then
Cells(5, 5) = c.Column
Exit For
End If
Next c
For Each c In Range("F2:I2")
If IsEmpty(c) Then
Cells(5, 6) = c.Column
Exit For
End If
Next c
For Each c In Range("J2:M2")
If IsEmpty(c) Then
Cells(5, 7) = c.Column
Exit For
End If
Next c
End Sub
 
Hoi Edgar,

Ik heb je code net gecontroleerd, hij ziet er goed uit.

Hij geeft de correcte kolom van de zoekrange. Als in de range("F2:I2") G2 leeg is komt er 7 uit omdat dit het kolomnummer van kolom G is. Als je dat nioet wilt dan moet je er hetvolgende van maken
Cells(5, 6) = c.Column -5

Blijven zoeken doet ie niet, hij telt van A tot E en gaat daarna verder.

Jeroen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan