Notifications
Clear all

Selecionar colunas para copiar

8 Posts
2 Usuários
0 Reactions
2,715 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde a todos ,
Estou usando este código para tentar copiar o intervalo D100: H até ultima linha preenchida , J100 : J até ultima linha preenchida e assim por diante;
mas não consego fazer a seleção desse trecho.
dá erro em tempode execução 1004 , O metodo rande do objeto_global falhou.
marca esta linha como erro .

Range(("D100:H & UltLinha), (J100: J & UltLinha), (T100: T & UltLinha), (W100: W & UltLinha), ( Z100: Z & UltLinha), (AB100: AQ & UltLinha")).Select

segue o código na integra.

Sub Filtrar_Executar()
Dim UltLinha As Long
    Rows("99:99").Select
    Selection.AutoFilter
    ActiveWindow.ScrollColumn = 1
    ActiveSheet.Range("$A$99:$A$5000").AutoFilter Field:=3, Criteria1:="S"    
    UltLinha = ActiveSheet.Range("C65000").End(xlUp).Row + 1
Range(("D100:D & UltLinha), (J100: J & UltLinha), (T100: T & UltLinha), (W100: W & UltLinha), ( Z100: Z & UltLinha), (AB100: AQ & UltLinha")).Select
  Selection.Copy  
   
   Workbooks.Add
    
    Range("A1").Select
   ActiveSheet.Paste
   Windows("Cópia de LIMPEZA FAIXA P  ALEGRE  -  FEV  2013.xlsb").Activate
    Application.CutCopyMode = False
    Selection.AutoFilter
End Sub

.
antecipo meus agradecimentos.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/03/2013 2:03 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Claudinei,

Boa Noite!

Não consegui rodar a tua planilha, pois, para isso, precisaria saber o que ela faz e como é que ela executa esse código que você enviou. Detalhes que você não explica na sua mensagem. Outro fator igualmente importante é que a planilha é protegida e você não informa quais são as senhas. Até aí tudo bem: dei um jeito nisso.

Bom, assim, sem conseguir rtodar a sua planilha, o que achei de erro nessa linha que você menciona é a forma de construção dela. Creio que se você mudar para a linha abaixo, sua macro funcionará normalmente:

    Range("D100:D" & UltLinha & ",J100:J" & UltLinha & ",T100:T" & UltLinha & ",W100:W" & UltLinha & ",Z100:Z" & UltLinha & ",AB100:AQ" & UltLinha).Select

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 04/03/2013 8:29 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Muitissimo obrigado Wagner , Matou a pau.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/03/2013 4:34 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Wagner , muitissimo obrigado , é isto mesmo que precisava.

Aproveitando de seus conhecimentos preciso de mais duas coisas neste código , se for possivel me ajudar novamente.
1- Em Workbooks.Add preciso que a pasta gerada tenha o nome "Execução" seguido do nome da planilha que a gerou ; neste caso ficaria : Execução Cópia de LIMPEZA FAIXA P ALEGRE - FEV 2013.xlsb.
2- Em Windows("Cópia de LIMPEZA FAIXA P ALEGRE - FEV 2013.xlsb").Activate o cógigo manda voltar a esta pasta , mas não pode ser desta forma ,ele teria que pedir: "ative a pasta anterior" ; pois o nome da pasta nao vai ser sempre o mesmo.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/03/2013 4:46 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Claudinei,

Bom Dia!

OK. Veja o código abaixo e insira-o, conforme a sua necessidade:

    'Para resolver o problema do nome do arquivo use:
    Dim Nome, NomeCopia As String
    Nome = ActiveWorkbook.Name
    NomeCopia = "Execução " & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5)
    Workbooks.Add
    ActiveWorkbook.SaveAs NomeCopia
    
    'Para selecionar a planilha anterior, use:
    Windows(Nome).Activate

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/03/2013 5:52 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ok Wagner é isto, porem após o ActiveWorkbook.SaveAs NomeCopia tem o código:
Range("A1").Select
ActiveSheet.Paste
E esta dando " erro em tempo de execução 1004 , O metodo paste da classe worksheet falhou".
sem o ActiveWorkbook.SaveAs NomeCopia não dá o erro.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 06/03/2013 8:58 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Claudinei,

Boa Noite!

Coloque a linha ActiveWorkbook.SaveAs NomeCopia após a linha ActiveSheet.Paste.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 06/03/2013 6:19 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Noss , tão fácil , e o marmita aqui não descobriu; e olha que tentei heim. Muitissimo obrigado.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/03/2013 6:14 am