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

Lege cellen opvullen

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
Hoi, hallo,

Ik wil in een raster de blanco ruimtes opvullen met de inhoud van de cel links ervan. Indien de cel links leeg is, dan moet opgevuld worden met de cel er nog eens links van .

De eerste kolom is steeds ingevuld met 5 cijfers, altijd !

In bijlage een voorbeeld.

Zou iemand hiervoor een macro kunnen bedenken / noteren ?

dbv,

Stefano
 

Bijlagen

Beste stefano,

Zoiets als dit?

mvg,

Code:
Sub Opvullen()

Dim r As Range
Dim i As Variant

    Set r = Range("A1:L5")
    
    For Each i In r
        If IsEmpty(i) Then
            i.Value = i.Offset(, -1).Value
        End If
    Next
    
End Sub
 
Laatst bewerkt:
Code:
Sub tst()
  For j = 0 To 4
    For Each ar In Range("A1:J1").Offset(j).SpecialCells(xlCellTypeBlanks).Areas
      with ar.Offset(, -1).Resize(, ar.Columns.Count + 1)
         .FillRight
         .interior.colorindex=.cells(1).value
      end with
    Next
  Next
End Sub
 
Laatst bewerkt:
Yes, perfect, dank je. :thumb:

Nu nog deel 2 :

Kan ik in hetzelfde , opgevulde rooster een kleur toekennen aan elk identiek nummer ?

Dus alle nr's 4 bv in het rood, de vijf in het groen, de 6 in het geel , ...

mogelijke nr's zijn 4 5 6 7 8 9 10 11 12 14 15 16

dbv,

Stefano
 
Beste RvanGalenLast ;)

Beste stefano,

Zoiets als dit?

mvg,

Code:
Sub Opvullen()

Dim r As Range
Dim i As Variant

    Set r = Range("A1:L5")
    
    For Each i In r
        If IsEmpty(i) Then
            i.Value = i.Offset(, -1).Value
        End If
    Next
    
End Sub

De code doet het goed behalve het bereik ("A1:L5") moet ("A1:J5") zijn.

Groetjes Danny. :thumb:
 
Mijne heren , hartelijk dank alvast voor de verschillende oplossingen.

Maar ... mijn kleurtjes in die tabel , dat lijkt nergens op, het is te druk, lijkt wel een Van Gogh ...

Dus had ik graag, indien mogelijk, afwisselend een lichtgrijze achtergrond voor dezelfde cijfers, afgewisseld met géén achtergrond voor de volgende serie.

zie voorbeeld in bijlage

dbv,

Stefano
 

Bijlagen

Je kan toch gewoon een lus schrijven doorheen de rijen, en binnen elke rij doorheen de cellen. Als de cel hetzelfde is als de cel links, neem ColorIndex = xlNone, anders alterneer je de kleur. Was het links ColorIndex = 15 (grijs), dan neem je xlNone, was het xlNone dan neem je 15.

Wigi
 
Vooruit, de hele oplossing dan maar.

Code:
Sub tst()
    
    [AR8:BA12].Copy [U8]
    
    Set r = [U8:AD12]
    
    r.SpecialCells(xlCellTypeBlanks).Formula = "=RC[-1]"
    r.Value = r.Value

    For j = 1 To 5
        lWaarde = -1: lColor = -1
        For Each ar In r.Rows(j).Cells
            ar.Interior.ColorIndex = IIf(lColor = -1, 15, IIf(lWaarde = ar.Value, lColor, IIf(lColor = 15, xlNone, 15)))
            lWaarde = ar.Value: lColor = ar.Interior.ColorIndex
        Next
    Next
End Sub

Je moet trouwens geen lussen maken voor opvullen van lege cellen.

Wigi
 
Laatst bewerkt:
Goed dat er ook Wigi's zijn in deze wereld ...

dank je Wim en alle anderen die een bijdrage leverden

:thumb:
 
Zet je de vraag dan nog even op opgelost
 
Naast de area [U8:AD12] heb ik ook nog 3 andere area's. In totaal vier dus.

Bovendien beschikt het bestand over 8 tabbladen waarop ik die macro wil uitvoeren, kortom dat wordt weer iets van for .. to ... met next en zo'n dingen.

Kan iemand helpen ?

dbv,

Stefano

PS in bijlage het bestand met de macro van Wigi erbij
 

Bijlagen

Laatst bewerkt:
Naast de area [U8:AD12] heb ik ook nog 3 andere area's. In totaal vier dus.

Bovendien beschikt het bestand over 8 tabbladen waarop ik die macro wil uitvoeren, kortom dat wordt weer iets van for .. to ... met next en zo'n dingen.

Kan iemand helpen ?

dbv,

Stefano

PS in bijlage het bestand met de macro van Wigi erbij
 

Bijlagen

1. Waarom 2 keer dezelfde post schrijven?
2. Zorg ervoor dat je 1 algemene procedure hebt met een willekeurig bereik (r), die je dan x aantal keer uitvoert (telkens met een andere x). De eerste x is [U8:AD12] op het actieve blad, daarna andere bereiken nog.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan