Saudações pessoal, gostaria de saber se existe alguma instrução para se fazer para que quando eu copio uma row para um variável, ela também guarde a formatação, além do valor.
Linhaacopiar = Rows(i & ":" & i)
Sheets(j).Rows(Ultimalinha) = Linhaacopiar
Eu estou fazendo com esses dois comandos, sendo que já tentei colocando .Value e não achei nada que possa subistituir o .Value por algo do tipo .FormatValue, não sei se existe. existe duas colunas que são de formato horário que não estão aparecendo com esse formato, e tem uma de formato data que fica copiada com a formatação.
Alguém sabe de uma solução?
Att.
Thiago
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Bom dia,
Sugiro o seguinte código:
Rows(i).Copy Sheets(j).Rows(ultimalinha)
Abraço
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Olá, esse código não funcionou, não sei se faltou alguma complementação nele, pois não vi nenhum "paste" ou atribuição. e o Sheets(j).Rows(ultimalinha).Paste o excel não aceitou.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Apresenta alguma mensagem de erro?
Eu testei e funcionou.
Veja a sintaxe de "Copy" conforme a ajuda do Excel:
Copia o intervalo para o intervalo especificado ou para a área de transferência.
expressão.Copy(Destination)
expressão necessária. Uma expressão que retorna um objeto Range.
Destination Variant opcional. Especifica o novo intervalo para o qual o intervalo especificado será copiado. Se esse argumento for omitido, o Microsoft Excel copiará o intervalo para a área de transferência.
Abraço
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
O problema é que as Rows estão em planilhas diferentes (workbooks, pasta).
Colocando o seguinte código:
Workbooks(PlanilhaBase).Sheets(Plan1).Rows(i).Copy Workbooks(planilhaDF).Sheets(j).Rows(ultimalinha)
deu erro 13, tipos incompatíveis. Eu já havia tentando com o Selection.Copy Selection.PasteSpecial xlPasteall, mas ele dá erro 1004. O único método que funcionou até agora foi o de atribuir a linha para uma variável e depois atribuir à linha da outra planilha através dessa variável, mas ela acaba não transferindo a formatação de horario.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Suponho que seja no Plan1 ... deveria ser "Plan1"...
Workbooks(PlanilhaBase).Sheets("Plan1").Rows(i).Copy Workbooks(planilhaDF).Sheets(j).Rows(ultimalinha)
Sub Copia_Valores_e_Formatacao() Dim PlanilhaBase As String Dim AbaOrigem As String Dim I As Long Dim PlanilhaDF As String Dim AbaDestino As Long Dim UltimaLinha As Long PlanilhaBase = "Pasta9.xls" AbaOrigem = "Plan1" I = 9 PlanilhaDF = "Pasta7.xls" AbaDestino = 2 'Plan2 UltimaLinha = 7 Workbooks(PlanilhaBase).Sheets(AbaOrigem).Rows(I).Copy Workbooks(PlanilhaDF).Sheets(AbaDestino).Rows(UltimaLinha) End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Segue uma sugestão de código, caso os dois arquivos (origem e destino) estejam fechados e a macro seja executada de um terceiro arquivo:
Sub Copiar() Dim ArqDestino Dim ArqOrigem Dim i As Long i = 1 ArqOrigem = "C:TestePasta2.xls" ArqDestino = "C:TestePasta3.xls" Workbooks.Open ArqOrigem ArqOrigem = ActiveWorkbook.Name Workbooks.Open ArqDestino ArqDestino = ActiveWorkbook.Name Workbooks(ArqOrigem).Sheets("Plan1").Rows(i).Copy Workbooks(ArqDestino).Sheets("Plan1").Rows(i) Workbooks(ArqOrigem).Close Workbooks(ArqDestino).Close True End Sub
Depois é só adaptar para a sua necessidade.
Abraço
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Obrigado JValq e Alexandre, o problema era mesmo a falta dos aspas no "Plan1". Agora tá funcionando perfeitamente.
Agradecido pela atenção e presteza.
Att.
Thiago.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel