Notifications
Clear all

Rows

2 Posts
1 Usuários
0 Reactions
808 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Ola Mauro Coutinho, vi esse topico mas estava trancado , e minha duvida seria

Rows("3:3").Insert Shift:=xlDown , quero que seja Dim k

quero considerar a qnt de linhas a ser criada conforme uma DIM e essa Dim pega os dados rodados atraves de um formulario

Private Sub PAGAMENTO_Click()

Sheets("Vendas Feitas").Activate
 
 Dim k As Double
 k = Caixa1.Contagem.Value
Rows("3:3").Insert Shift:=xlDown


Re: Analise de Codigo - Abre Arquivo, Deleção Condicional, C
Mensagempor Mauro Coutinho » Qua Abr 09, 2014 1:08 pm

Hugo,
Eu me atentei mais a questão do erro, o que eu postei referente ao erro resolveu ?

Sua rotina completa está parecendo que foi construida utilizando o gravador de macros, o que geralmente deixa varias linhas desnecessárias, e alem das dicas do Edcronos podemos otimizar as linhas:

Aqui estamos inserindo duas linhas a partir da linha 3:
Rows("3:3").Select
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Estas 3 instruções podem ser substituidas por:
Rows("3:4").Insert Shift:=xlDown
Para entender a instrução acima temos, "3:4" - Inicio Linha "3" então "3 para 4" temos "duas linhas" considerando a "3", se fossemos adicionar 3 linhas seria "3:5" onde "3 para 5" igual a "3".

Tenha sempre em mente que não precisamos selecionar linhas para executar ações, e tomar cuidado quando utilizamos "ActiveCell".

O tempo é curto, ja estou de saida pro almoço, mas tem varios outros pontos na rotina que daria para otimizar, tipo você está ativando um mesmo arquivo e aba mais de uma vez, mas teria de analisar com mais calma se realmente é necessário, uma vez que podemos referenciar as mesmas deixando em memoria atraves de Variáveis Publicas e só utilizar as mesmas sem precisar ficando ativando e selecionando.

[]s

 
Postado : 01/01/2017 12:04 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

resolvido

Dim k, w As Double
k = Contagem.Value
w = k + 2
Rows("3:" & w).Insert Shift:=xlDown

Onde, contagem.Value é TextBox do Formulario,

 
Postado : 01/01/2017 4:35 pm