Robert Smidt
Gebruiker
- Lid geworden
- 26 mei 2009
- Berichten
- 901
Beste Helpmij'ers,
Ik heb via dit medium een code ontvangen om lege regels op te schuiven (zie onder), dit werkt overigens perfect, maar nu wil ik graag dat de code aangeroepen wordt wanneer binnen een bereik (A166:C180) in kolom B een waarde ontbreekt en het systeem automatisch de waarde ernaast in kolom C wist. Hierdoor ontstaat een lege regel. Onderstaande code dient dan aangesproken te worden om alle regels onder elkaar te zetten.
Mijn vraag: lukt het een code te maken om het eerste probleem op te lossen? M.a.w. in kolom B staan formules en op regel 168 (zie bijlage) geeft deze formule de waarde van een lege cel aan, echter is cel C168 gevuld. In dit geval moet hij in kolom C168 de waarde, in dit geval "Rabo", deleten. Hierdoor krijg je een lege regel/cel. Omdat in kolom B alleen maar formules staan hoeft het systeem hier niets mee te doen, het enige wat deze moet doen is in kolom C "Rabo" te wissen en vervolgens onderstaande code aan te spreken.
Op dit moment wordt de code handmatig aangeroepen vanuit een sub module. Het zou fijn zijn dat het automatisch gaat wanneer het systeem in kolom B een lege cel tussen de gevulde cellen ontdekt en dan de code activeert.
Ik hoop dat het voorbeeld helderheid geeft in mijn uitleg. Alvast hartelijk dank.
RobertBekijk bijlage Opschuiven.xlsm
Ik heb via dit medium een code ontvangen om lege regels op te schuiven (zie onder), dit werkt overigens perfect, maar nu wil ik graag dat de code aangeroepen wordt wanneer binnen een bereik (A166:C180) in kolom B een waarde ontbreekt en het systeem automatisch de waarde ernaast in kolom C wist. Hierdoor ontstaat een lege regel. Onderstaande code dient dan aangesproken te worden om alle regels onder elkaar te zetten.
Mijn vraag: lukt het een code te maken om het eerste probleem op te lossen? M.a.w. in kolom B staan formules en op regel 168 (zie bijlage) geeft deze formule de waarde van een lege cel aan, echter is cel C168 gevuld. In dit geval moet hij in kolom C168 de waarde, in dit geval "Rabo", deleten. Hierdoor krijg je een lege regel/cel. Omdat in kolom B alleen maar formules staan hoeft het systeem hier niets mee te doen, het enige wat deze moet doen is in kolom C "Rabo" te wissen en vervolgens onderstaande code aan te spreken.
Op dit moment wordt de code handmatig aangeroepen vanuit een sub module. Het zou fijn zijn dat het automatisch gaat wanneer het systeem in kolom B een lege cel tussen de gevulde cellen ontdekt en dan de code activeert.
Code:
Dim sv, arr, i As Long
sv = Range("c166:c180")
arr = sv
For i = 1 To UBound(sv)
If sv(i, 1) <> "" Then
n = n + 1
arr(n, 1) = sv(i, 1)
End If
Next i
Cells(166, 3).Resize(15).ClearContents
Cells(166, 3).Resize(n) = arr
Ik hoop dat het voorbeeld helderheid geeft in mijn uitleg. Alvast hartelijk dank.
RobertBekijk bijlage Opschuiven.xlsm