Erro VBA do Excel - Célula (R, C) .Colocar [fechado]

0

Estou escrevendo o código em Workbook0.Worksheet1 para copiar uma célula de Workbook1.WorkSheet1 para uma célula em Workbook2.Worksheet1

Aqui está o código:

Sub CopyInfo()  
    Dim WSCopy As Worksheet  
    Dim WSPaste As Worksheet  
    Set WSCopy = Workbooks(Cells(3, 4).Value).Worksheets("Sheet1")  
    Set WSPaste = Workbooks(Cells(4, 4).Value).Worksheets("Sheet1")  
    RowCopy = Range(Cells(11, 3)).Row  
    ColCopy = Range(Cells(11, 3)).Column  
    RowPaste = Range(Cells(11, 4)).Row  
    ColPaste = Range(Cells(11, 4)).Column  
    Data = "Data"  
    While Data <> ""  
        Data = WSCopy.Cells(RowCopy, ColCopy)  
        WSPaste.Cells(RowPaste, ColPaste) = Data  
        RowCopy = RowCopy + 1  
        ColCopy = ColCopy  
        RowPaste = RowPatse  
        ColPaste = ColPaste + 1  
    Wend  
End Sub

Funciona bem na primeira iteração, na segunda iteração envia um erro.

Espero que alguém me mostre onde está o meu erro.

    
por Dexter 13.09.2013 / 16:51

1 resposta

3

Eu estou supondo que o problema é causado por um erro de digitação no seu código nesta linha:

RowPaste = RowPatse

Como o VBA não exige que você declare suas variáveis, ele atribui a RowPaste o valor de uma nova Variante Vazia RowPatse . Por isso, o código é quebrado pela segunda vez.

Para evitar esse tipo de problema de digitação, você pode adicionar Option Explicit ao topo do seu módulo. Isso fará com que o compilador apresente um erro sempre que uma variável não declarada for chamada em seu código.

Esta questão de lado, as linhas

ColCopy = ColCopy
RowPaste = RowPaste

pode ser removido porque não faz absolutamente nada.

    
por 13.09.2013 / 17:47