É fácil copiar e remover qualquer DV no destino:
Sub KopyPaste()
Dim r1 As Range, r2 As Range
Set r1 = Range("A1")
Set r2 = Range("A2")
r1.Copy r2
r2.Validation.Delete
End Sub
Estou tendo problemas com a cópia de células de uma planilha para outra no Excel VBA. A Folha de Origem contém um registro de cliente individual armazenado em uma única linha. A Folha de Destino é uma coleção de tais registros, empilhada linha por linha. É importante mantê-los separados para confidencialidade.
Eu criei uma macro para copiar a Origem na pasta de trabalho de destino, copiar as células da origem e colá-las na primeira linha vazia da planilha de destino. Como os dois contêm as mesmas informações, apliquei a mesma validação de dados às células correspondentes em cada planilha, principalmente listas suspensas.
No entanto, as origens e as folhas de destino são originadas em diferentes pastas de trabalho. Quando copio as células da origem para o destino, a validação de dados é fornecida. As células coladas no Destino agora se referem às células na Origem para preencher suas listas suspensas. O link geralmente quebra, quebra o menu suspenso e avisa o usuário toda vez que o destino é aberto.
O que eu gostaria de fazer é copiar os valores nas células de origem sem copiar a validação de dados. Como eu disse anteriormente, a validação de dados é a mesma em cada planilha (exceto que eles se referem a folhas de trabalho diferentes), então todos os valores devem ser validados de qualquer maneira.
Aqui está uma amostra do meu código de cópia:
Sub copyNoValidation(wkbDestination as ThisWorkbook, oRange as Range, cellDest As Range)
wkbDestination.Worksheets("Source").Range(oRange).Copy
cellDest.PasteSpecial xlPasteValues
End Sub
Obrigado pela sua ajuda!
É fácil copiar e remover qualquer DV no destino:
Sub KopyPaste()
Dim r1 As Range, r2 As Range
Set r1 = Range("A1")
Set r2 = Range("A2")
r1.Copy r2
r2.Validation.Delete
End Sub
Tags microsoft-excel vba