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

Cellen legen

Status
Niet open voor verdere reacties.

Plotinus

Gebruiker
Lid geworden
25 mrt 2007
Berichten
659
L.S.

In een groot gegevensbereik levert een herhaald toegepast formule '#N/B' op in heel veel cellen. Om mooie grafieken te kunnen maken is het noodzakelijk dat deze cellen echt leeg zijn (inhoud gewist). Met 'zoeken en vervangen' gaat dit niet: je moet dan op 'waarden' zoeken, maar beschikt dan niet over de vervangfunctie. Verder lukt het me niet een opgenomen macro zodanig te optimaliseren dat die een hele kolom in een keer verwerkt. Iemand een idee?

gegroet,
mrt
 
Beste Plotinus ;)

Gebruik de volgende formule om '#N/B' weg te krijgen:

=ALS(ISFOUT(formule;"";formule))

Groetjes Danny. :thumb:
 
en hoe giet ik dat in VBA-code; via 'zoek en vervang' gaat dit niet werken

gegroet,
mrt
 
Hier een oplossing met een andere gedachte gang.
In plaats van de kleur van de lijn per dagperiode te veranderen kun je ook de achtergrond van kleur laten veranderen. De lijnkleur blijft gelijk.
 

Bijlagen

Code:
Sub FuotenVerwijderen()
Dim rBereik As Range
    For Each rBereik In Range("A1:C10")
        If IsError(rBereik) Then rBereik = ""
    Next
End Sub

De fouten in het bereik A1 t/m C10 worden vervangen door een lege cel.

Met vriendelijke groet,


Roncancio
 
Isfout wordt aan de formule toegevoegd.

Code:
Sub formule()

Application.ScreenUpdating = False
For Each cl In Range("A1:C10")
If cl.HasFormula = True Then
cl.Replace What:="=", Replacement:=""
cl.Formula = "=IF(ISERROR(" & cl & "),""""," & cl & ")"
End If
Next cl
Application.ScreenUpdating = True
End Sub


@ Danny

=ALS(ISFOUT(formule;"";formule))

moet zijn =ALS(ISFOUT(formule);"";formule)

Niels
 
Laatst bewerkt:
Niels, jouw formule leegt niet de cellen, maar voegt er iets aan toe:
Code:
=ALS(EN(UUR($P3)>19;UUR($P3)<23);$T3;NB()))

wordt
Code:
=ALS(ISFOUT(ALS(EN(UUR($P3)>19;UUR($P3)<23);$T3;NB()));"";ALS(EN(UUR($P3)>19;UUR($P3)<23);$T3;NB()))

Ik kan niet achterhalen waar de fout ligt, daarvoor is mijn kennis van VBA (2000) te ver weggezakt - helaas.

gegroet,
mrt
 
Roncancio, jouw marcro levert het gewenste resultaat op; hartelijk dank!

gegroet,
mrt
 
Popipipo,

Dank ook voor jouw zeer originele oplossing! Ik ga het als alternatief toepassen; de klant mag uiteindelijk kiezen welke vorm hij aantrekkelijker vindt. Ik heb er weer wat van geleerd.

gegroet,
mrt
 
Danny147
Gebruik de volgende formule om '#N/B' weg te krijgen:

=ALS(ISFOUT(formule;"";formule))

Plotinus
en hoe giet ik dat in VBA-code; via 'zoek en vervang' gaat dit niet werken
gegroet,

Dat is dus wat de macro doet, hij voegt isfout aan de formule toe.
Dan ben je dus de '#N/B' kwijt.

Niels
 
Dat klopt Niels, maar de cel is daarmee niet leeg en daarmee houd ik die verbindingslijntjes bij het maken van een grafiek en dat is nou juist wat ik niet wil. De inhoud moet dus helemaal gewist worden.

Dank zover,
mrt
 
Popipipo,

Ik heb jouw originele oplossing toegepast. Wat me nu echter opvalt is dat ik geen rasterlijnen lijk te kunnen toevoegen. Is hier een oplossing voor? Of moet ik gewoon nog een paar horizontale/verticale reeksen toevoegen? - ietwat omslachtig, maar is te doen natuurlijk.

gegroet,
mrt
 
Doordat de rasterlijnen achter de grafiek liggen zie je ze niet.
In bijgaand vbtje heb ik de grafiekpunten voor dag- avond- en nachtperiode voor 25% transparant gemaakt.
Nu zie je de rasterlijnen weer.


ps
Leuk dat je mijn alternatieve voorbeeld gebruikt.
Zo zie je dat je hier niet alleen oplossingen krijgt, maar ook ideeën krijgt voor een ander aanpak.
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan