Portanto, S
é uma string e mesmo que seja como se estivesse especificando um Range, Union()
requer um Range object , e é por isso que você está recebendo um erro de incompatibilidade de tipos. Você está passando o tipo errado.
Assim, enquanto o valor de S
especificar um intervalo adequado, tente algo como:
Dim UnionRange as Range 'declare at top
...
Set UnionRange= WorkingSheet.Range(S) 'insert this after S is assigned
...
Set WholeRange = Union(UnionRange) 'change the range assignment to this