| Fácil...para quem sabe é claro. | |
|
|
Autor | Mensagem |
---|
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Fácil...para quem sabe é claro. Qua Set 10, 2014 3:35 am | |
| Prezados, alguém pode me ajudar numa parada simples ?
Comecei a receber dados no excel 2007 de um linkDDE em duas células A1 e A2. Estes dados ficam variando a todo instante. Em C1 e C2 eu tenho uma simples conta de somar, subtrair que usam os dados de A1 e A2, portanto C1 e C2 também variam conforme A1 e A2. O que eu preciso é que cada vez que C1 e C2 variar fossem geradas colunas à direita começando em E1 e E2 contendo os valores que haviam em C1 e C2 antes de cada variação.
Por exemplo: Digamos que C1 e C2 tenha 500 e 800, aí mudam para 550 850. No instante em que ocorrer esta mudança aparece em E1 = 500 e em E2 = 800 pois estes eram os valores que tinham em C1 e C2 antes da variação. Daí uma nova variação em C1 e C2 gerará a fixação dos seus últimos valores só que agora em F1 e F2. E assim eternamente ou até eu desligar o linkDDE.
Ou seja, cada variação de C1 e C2 vai gerando uma série histórica dos últimos valores de C1 e C2 na horizontal para a direita começando em E1 e E2.
Alguém pode ajudar fazendo esta macro ? | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 10, 2014 3:42 pm | |
| Bom dia!!
Para eu tentar te ajudar eu preciso de um arquivo modelo!!
Att | |
|
| |
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 10, 2014 3:59 pm | |
| Caro Alexandre,
como eu faço para enviar um modelo ? | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 10, 2014 4:38 pm | |
| Bom dia!!
Post o arquivo em site gratuito, como sendspace ou 4shared, após isso cole o link aqui.
Caso não tenha permissão (7 dias após cadastro no site), use uma mascara para quebrar o link.
w*w*w.sendspace.com* (<== Veja os asteriscos)
Att | |
|
| |
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 10, 2014 5:03 pm | |
| w*w*w*.sendspace.com/file/rgnnk6
veja se fiz certo, a planilha é a atual.xlsx
Se conseguir baixá-la direi mais uma pequena explicação.
Valeu | |
|
| |
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 10, 2014 5:07 pm | |
| São 5 módulos iguais.
Basta toda vez que M4 e M5 mudar (e elas vão mudar) colar o último valor antes da mudança nas células R4 e R5 mantendo a única formatação condicional que eu fiz que é na cor que fica azul quando o valor está positivo. Daí numa nova mudança de M4 e M5 cola em S4 e S5 e assim a planilha vai crescendo infinitamente para direita.
O mesmo ocorre para M9 e M10, M14 e M15, M19 e M20, M24 e M25
| |
|
| |
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 10, 2014 7:07 pm | |
| Alexandre, se puder fazer só para os três primeiros módulos já vai me ajudar bastante.
Digo, M4,M5 M9,M10 M13,M14
Os outros dois não são importantes.
valeu | |
|
| |
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Re: Fácil...para quem sabe é claro. Qui Set 11, 2014 2:54 pm | |
| Caro Alexandre,
Por favor diga-me se poderá me ajudar na tal macro.
Obrigado. | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Fácil...para quem sabe é claro. Sex Set 12, 2014 8:51 pm | |
| Boa tarde!! Seri aalgo assim? https://www.sendspace.com/file/ppnvma Insira o código em módulo de planilha - Código:
-
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Application.ScreenUpdating = False If Not Application.Intersect(Target, Range("M4:M5")) Is Nothing Then Call AleVBA Else: Exit Sub End If Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Insira o código em módulo comum - Código:
-
Sub AleVBA()
'Application.ScreenUpdating = False Dim i, LastRow LastRow = Range("A" & Rows.Count).End(xlUp).Row For i = 4 To 5 If Cells(i, "M").Value <> "" Then Cells(i, "M").Copy Range("S" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues Cells(i, "M").ClearContents End If Next Application.CutCopyMode = False 'Application.ScreenUpdating = True End Sub Att | |
|
| |
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Re: Fácil...para quem sabe é claro. Sex Set 12, 2014 11:15 pm | |
| Legal Alexandre, estamos no caminho certo.
Mas só funciona se eu clicar em MACROS e depois em EXECUTAR. Tinha que ficar funcionando direto.
Os dados que estavam em M4,M5 estão sendo colados em S2,S3 respectivamente. Na verdade deveriam ser colados em S4,S5 e na próxima variação em T4,T5, depois em U4,U5 e assim sucessivamente e eternamente preenchendo automaticamente para a direita (desculpe se expliquei errado antes).
E após colar os dados não pode apagar M4,M5 pois M4,M5 são as células a serem monitoradas constantemente para poder ir gerando a série histórica das variações explicadas no parágrafo anterior.
E o mesmo ocorrer para M9,M10 e M14,15 que teriam as colagens começando em S9,S10 e S14,S15...depois T9,T10 e T14,T15...até o infinito.
Valeu.
| |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 17, 2014 9:08 pm | |
| Boa tarde!! Neste caso para que essa macro executa será necessário usar o Application.OnTime - Código:
-
Sub AleVBA_891() Sheets("Plan1").Range("M4:M5").Copy Sheets("Plan1").Range("IV4").End(xlToLeft).Offset(0, 1) End Sub Att | |
|
| |
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 17, 2014 9:31 pm | |
| Eu copiei e colei este novo código logo abaixo daquele mas não deu certo. Quando eu salvo este novo desaparece e a planilha continua apagando os registros em M. | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 17, 2014 9:37 pm | |
| Boa tarde! - Citação :
- Eu copiei e colei este novo código logo abaixo daquele mas não deu certo.
eu postei somente uma rotina, oque tiver ai, apague e cole somente o código da minha ultima postagem (dentro de um módulo comum)!! Att | |
|
| |
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 17, 2014 9:51 pm | |
| Criei um módulo2 em branco e copiei para dentro dele a sua última postagem mas não teve efeito. | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Fácil...para quem sabe é claro. Qua Set 17, 2014 11:38 pm | |
| Boa tarde!!
Eu não tive problema!!!!!!!...infelizmente, hoje tive uma má noticia, eu não tenho mais permissão de postar e baixar arquivos em sites de hospedagens de arquivos (sendspace, 4shared, etc).
Só final de semana (eu estudo durante a noite!).
Att | |
|
| |
excelleigo
Mensagens : 10 Data de inscrição : 10/09/2014
| Assunto: Re: Fácil...para quem sabe é claro. Qui Set 18, 2014 1:01 am | |
| Tudo bem, eu entendo, obrigado por ter ajudado. | |
|
| |
Conteúdo patrocinado
| Assunto: Re: Fácil...para quem sabe é claro. | |
| |
|
| |
| Fácil...para quem sabe é claro. | |
|