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

Bepalen aantal niet lege cellen in kolom

Status
Niet open voor verdere reacties.

apikills

Gebruiker
Lid geworden
14 jul 2005
Berichten
160
Hallo allemaal,

hoe kan ik in VBA een kolom op een ander sheet het aantal niet-lege cellen bepalen. In de kolom worden datum en tijd waarden weergegeven.

Vervolgens heb ik ook nog een sub nodig om deze waarden te splitsen in een datum en tijd gedeelte.

Wie helpt me :o

apikills
 
Onderstaande code controleert op het 2e werkblad of de cellen A1 t/m A15 leeg zijn of niet.
Is een cel niet leeg dan:

- verschijnt er in de A-kolom vanaf cel A1 de gevonden datum
- verschijnt er in de B-kolom vanaf cel B1 de gevonden tijd
- wordt de teller met 1 verhoogd.

Aan het eind van de macro verschijnt een melding met het aantal gevonden cellen.

Sub Macro1()
Dim ZoekRij, SchrijfRij As Integer
ZoekRij = 1
SchrijfRij = ZoekRij
While ZoekRij < 15
If Worksheets(2).Cells(ZoekRij, "A") <> "" Then
Worksheets(1).Cells(SchrijfRij, "A") = Format(Worksheets(2).Cells(ZoekRij, "A"), "dd mmm yyyy")
Worksheets(1).Cells(SchrijfRij, "B") = Format(Worksheets(2).Cells(ZoekRij, "A"), "hh:mm")
SchrijfRij = SchrijfRij + 1
teller = teller + 1
End If
ZoekRij = ZoekRij + 1
Wend
MsgBox teller
End Sub
 
oke, ik heb de sub nog niet geprobeerd, maar onder office 97 (wat helaas nog op mijn werk draait :( ), heb ik gemerkt dat het commando Format niet wordt herkent. Hoe kan ik dit aanpassen ?

Alvast bedankt voor de aanzet :thumb:

apikills
 
Ik weet niet zeker of het zo werkt want ik heb zelf XP.


Sub Macro1()
Dim ZoekRij, SchrijfRij As Integer
ZoekRij = 1
SchrijfRij = ZoekRij
While ZoekRij < 15
If Worksheets(2).Cells(ZoekRij, "A") <> "" Then
Worksheets(1).Cells(SchrijfRij, "A") = Day(Worksheets(2).Cells(ZoekRij, "A")) & "-" & Month(Worksheets(2).Cells(ZoekRij, "A")) & "-" & Year(Worksheets(2).Cells(ZoekRij, "A"))
Worksheets(1).Cells(SchrijfRij, "B") = Hour(Worksheets(2).Cells(ZoekRij, "A")) & ":" & Minute(Worksheets(2).Cells(ZoekRij, "A"))
SchrijfRij = SchrijfRij + 1
teller = teller + 1
End If
ZoekRij = ZoekRij + 1
Wend
MsgBox teller
End Sub
 
Zag dat ik je nog niet bedankt had, maar werkt prima !!;)

Apikills
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan