Conteúdo claro de células em VBA usando referência de coluna
Estou a tentar obter um pedaço de código para limpar os dados em algumas células, utilizando as referências das colunas. Estou a utilizar o seguinte código:
Worksheets(sheetname).Range(.Cells(2, LastColData), .Cells(LastRowData, LastColData)).ClearContents
Para o fazer, contudo estou a receber um erro na primeira secção .Cells, porque é que isto acontece?
12
3
Pode aceder a toda a coluna como um intervalo utilizando o
Worksheet.Columns
objectAlgo do género:
deve limpar o conteúdo da coluna A
Há também o
Worksheet.Rows
objecto se precisar de fazer algo semelhante para as filasO erro que está a receber é provavelmente devido a um bloco em falta.
Pode ler sobre com blocos aqui: Ajuda Microsoft
Como Gary's Student mencionou, teria de remover o ponto antes de 'Células' para fazer o código funcionar como o escreveu originalmente. Posso'não tenho a certeza, uma vez que só incluiu uma linha de código, mas o erro que obteve quando apagou os pontos pode ter algo a ver com a forma como definiu as suas variáveis.
Corri a sua linha de código com as variáveis definidas como inteiros e funcionou:
Eu não'não penso que uma declaração "Com" seja apropriada à linha de código que partilhou, mas se utilizasse uma, a "Com" estaria no início da linha que define o objecto que está a manipular. Aqui está o seu código reescrito utilizando uma declaração desnecessária "Com":
"Com" as declarações são concebidas para o poupar de digitar novamente o código e para tornar a sua codificação mais fácil de ler. Torna-se útil e apropriado se fizer mais do que uma coisa com um objecto. Por exemplo, se quiser também tornar a coluna vermelha e adicionar uma borda preta grossa, poderá utilizar uma declaração "Com" como esta:
Caso contrário, teria de declarar o intervalo para cada acção ou propriedade, como esta:
Espero que isto lhe dê uma ideia da razão pela qual Gary's Student acreditava que o compilador poderia estar à espera de um "Com" (apesar de ser inadequado) e como e quando um "Com" pode ser útil no seu código.
É necessária uma declaração Com antes disto. Ou fazer os .Cells em Cells.