Vraag & Antwoord

Programmeren

vba code lege cel zoeken in excel

12 antwoorden
  • Hallo. Ik ben op zoek naar de code om in een kolom in excel zeg vanaf a2 naar beneden te zoeken naar de eerstvolgende lege cel. staan bv 5 getallen en de 6e cel is leeg. Daar moet om een waarde gevraagd worden. Heb al geprobeerd met if activecel > 0 then ActiveCell.Offset(1, 0).Select end if maar dan gaat de cursor 1 cel naar beneden! Moet heel makkelik zijn maar deze nieuweling komt er niet uit. Alvast bedankt Rob
  • Met de volgende code wordt gezocht in de aangegeven rij naar de waarde die in F8 staat op Blad1: Selection.Find(What:=Sheets("Blad1").Range("F8") - 1, After:=ActiveCell, LookIn:=xlValues, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _ xlNext, MatchCase:=False).Activate ActiveCell.Offset(0, 1).Range("A1:A38").Select
  • bedankt voor je antwoord. helaas werkt het niet bij mij. komst terug met de melding dat er geen wirth in ingesteld???
  • [code:1:b037977809]Private Function zoek(row As Integer, col As Integer) As Integer While (Rows.Cells(row, col) <> "") row = row + 1 Wend zoek = row End Function[/code:1:b037977809] Roep de functie aan met de rij en kolom waar je wilt beginnen met zoeken. Dan geeft ie de eerste rij terug waar niks in staat.
  • bedankt voor je reaktie. helaas werkt het niet. ik krijg de melding end sub verwacht. maar waar ik die end sub ook zet hij zoekt niet de eerstvolgende lege cel in de kolom...
  • Het is geen sub maar een functie. Je moet bovenstaande direct copieren en plakken. Daarna kun je in je code de functie aanroepen met [code:1:27e1716298]leeg=zoek(1,1)[/code:1:27e1716298] Dan zoekt hij naar de eerste lege cel in kolom A en leeg (mag elke variable zijn als het maar een integer of variant is) krijgt de waarde van de rij. Het feit dat je een melding krijgt dat hij een end sub mist wil zeggen dat je ergens een sub hebt zonder eind. De bovenstaande functie moet je dus niet in een andere sub of functie plakken. Maar er los onder zetten.
  • Nogmaals bedankt voor jullie reactie. ik heb nu de volgende code : Sub Macro2() ' ' Macro2 Macro ' De macro is opgenomen op 14/05/2002 door Wels. ' ' Sneltoets: CTRL+i ' Range("a2").Select leeg = zoek(1, 1) End Sub Private Function zoek(row As Integer, col As Integer) As Integer While (Rows.Cells(row, col) <> "") row = row + 1 Wend zoek = row End Function Maar de cursor gaat allen van a1 naar a2 en thats it. Eronder staan nog getallen maar hij zoekt niet verder..... Wat doe ik verkeerd?????? Groeten Rob
  • Ik hem mijn code nog enigszins aangepast. Probeer maar eens. :wink: Cells.find _ (What:="", _ After:=ActiveCell, _ LookIn:=xlValues, _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False) _ .Activate
  • Het werkt, bedankt. Alleen is de bedoeling dat in kolom a gezocht wordt. Nu gaat de cursor naar links de kolommen af. Ik heb xlByRows al vervangen door xlByColums maar dat schijnt zo niet te werken. Groeten. :-?
  • Verander Colums in Columns dan werkt het bij jou ook! :D :-?
  • Sorry hoor, kolom had ik wel goed in de code staan maar verkeerd in het bericht. Ik heb het verandert, maar hij gaat nog steeds zoeken in andere kolommen a b s c d - ! waar het - staat gaat de cursor naartoe terwijl de bedoeling is bij ! in kolom a uit te komen...... Ligt het misschien aan de direction? 't is wat..... Nogmaals bedankt hoor!
  • Dit werkt voor 100%. Zelf getest. [code:1:14945f31b1]Sub Lege_Cel() leeg = zoek(1, 1) Rows.Cells(leeg, 1).Select End Sub Private Function zoek(row As Integer, col As Integer) As Integer While (Rows.Cells(row, col) <> "") row = row + 1 Wend zoek = row End Function [/code:1:14945f31b1]

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.