Als het resultaat van een formule "leeg" is ("") is het veld niet leeg. Je kunt in een macro alle velden langs gaan en als het veld leeg is de inhoud schoonmaken, maar dat kost bij grote bestanden veel tijd.
Ik zou dit willen doen met een replace opdracht, maar het lukt me niet om "" door "" te vervangen. Wel eerst "" door "@" en daarna "@"door "". zie bijlage.
Maar is er niet een mogelijkheid om met replace lege velden leeg te maken?
Voorbeeld code (het lukt me niet om mijn bestandje te uploaden. Waarom weet ik niet.)
Ik zou dit willen doen met een replace opdracht, maar het lukt me niet om "" door "" te vervangen. Wel eerst "" door "@" en daarna "@"door "". zie bijlage.
Maar is er niet een mogelijkheid om met replace lege velden leeg te maken?
Voorbeeld code (het lukt me niet om mijn bestandje te uploaden. Waarom weet ik niet.)
Sub Testleegmaken()
Cells.Clear
Cells(2, 2) = 1: Cells(4, 2) = 2: Cells(6, 2) = 3
For Rij = 2 To 6
Cells(Rij, 3).FormulaR1C1 = "=RC[-1]&"""""
Next Rij
Range(Cells(2, 3), Cells(6, 3)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Cells(2, 3).Select
Selection.End(xlDown).Select
'Selectie gaat naar rij 6, er zijn geen lege velden
Range(Cells(2, 3), Cells(6, 3)).Select
Selection.Replace What:="", Replacement:="@", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Selection.Replace What:="@", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Cells(2, 3).Select
Selection.End(xlDown).Select
'Selectie gaat naar rij 4, want veld C3 is leeg
End Sub
Cells.Clear
Cells(2, 2) = 1: Cells(4, 2) = 2: Cells(6, 2) = 3
For Rij = 2 To 6
Cells(Rij, 3).FormulaR1C1 = "=RC[-1]&"""""
Next Rij
Range(Cells(2, 3), Cells(6, 3)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Cells(2, 3).Select
Selection.End(xlDown).Select
'Selectie gaat naar rij 6, er zijn geen lege velden
Range(Cells(2, 3), Cells(6, 3)).Select
Selection.Replace What:="", Replacement:="@", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Selection.Replace What:="@", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Cells(2, 3).Select
Selection.End(xlDown).Select
'Selectie gaat naar rij 4, want veld C3 is leeg
End Sub