terça-feira, 26 de fevereiro de 2013

Dúvida yahoo respostas sobre Excel

RESOLUÇÃO DA DÚVIDA

SEGUE A DUVIDA E ABAIXO A MINHA FORMA DE RESOLVER

Ajuda no excel !!!! URGENTE?

Estou montando uma tabela e já fiz um drop down na célula A1, que tem os valores 1,2,3 e 4. Agora na celula abaixo preciso que mude as alternativas para escolher no drop down desta célula, que fique desta forma:

Se eu escolher 1 na célula A1 aparece para ser escolhido na célula A2 as seguintes alternativas:
- Carro
- Moto
- Ônibus
- Trem

Se eu escolher 2 na célula A1 aparece para ser escolhido na célula A2 as seguintes alternativas:
- Bicicleta
- Skate
- Patins
- Patinete

Se eu escolher 3 na célula A1 aparece para ser escolhido na célula A2 as seguintes alternativas:
- Casa
- Rua
- Praça
- Clube

Se eu escolher 4 na célula A1 aparece para ser escolhido na célula A2 as seguintes alternativas:
- Água
- Suco
- Refrigerante
- Energético





INICIANDO

Então vamos lá na célula "A1" tem a lista suspensa com os números 1,2,3 e 4.




e vamos criar um baco de dados para então puxarmos as informações desejadas

veja a imagem a seguir (sendo que o mesmo pode ser criado em outra folha de dados como preferir)




Ok, agora vamos criar uma lista que irá buscar o numero escolhido na célula A1 e vai retornar um resultado o nome da fórmula é PROC.




então se vc fizer essa fórmula a célula "F11" ficará exatamente como na magem

=PROC($A$1;$A$10:$D$10;A11:D11)

A FÓRMULA DIZ O SEGUINTE:

PROCURAR O VALOR (AZUL) NO INTERVALO (VERDE) E RETORNAR O VALOR DA MESMA LINHA (ROSA) NA COLUNA ONDE O VALOR PROCURADO FOR ENCONTRADO.

OS $ NA AREA AZUL E VERDE SÃO PARA CONGELAR A FÓRMULA NESSE LOCAL PARA QUE AO COPIAR E COLAR NAO BAGUNCE TUDO...

APÓS DAR UM ENTER SE VOCE NAO TIVER ESCOLHIDO NENHUM NUMERO NA CÉLULA "A1" O VALOR DA CÉLULA QUE CONTÉM A FÓRMULA SERÁ #N/D (ISSO QUER DIZER QUE O VALOR PROCURADO É IGUAL A ZERO.

VAMOS CORRIGIR ISSO COM A FÓRMULA DESSA FORMA

=SE($A$1="";"";PROC($A$1;$A$10:$D$10;A11:D11))

ASSIM SE O VALOR DA CÉLULA A1 FOR IGUAL A NADA ELE NAO RETORNARÁ NENHUM VALOR...

FEITO ISSO DEVE COPIAR E COLAR A CÉLULA F11 PARA F12,F13 E F14.

PRONTO DEPOIS VOCÊ FAZ UM DROP DOWN NA CÉLULA B1 MAS PORÉM USE AS QUATRO LINHAS QUE TEEM A FORMULA DA PROCURA....




aí depois é só testar tente escolher os números e ver se vai mudar... pois a solução mais prática que encontrei foi esse se alguém tiver outra ideia ficarei honrado em  aprender mais e mais....



vlw Edivan Cabral








Alternar entre Janelas ( Super Dicas )

Truque para alternar as janelas dos programa aberto



Para você que assim como eu usa dois programas ao mesmo tempo, sendo que olha as informações em um e as digita no outro eu uso um macete muito bom para alternar as janelas sem o uso do mouse...


Segurando "Alt" pressione "Tab" e as janelas serão alternadamente trocadas na tela... experimente o aprendizado vem da prática....



Edivan Cabral...

Codificando "Agenda" Parte 2 -Criando código automático

Código VBA para geração de códigos numéricos sucessivos e crescentes

Então vamos lá...

O primeiro passo é criar um Módulo...

            Vamos então abrir o Editor do VBA, quem não souber pode visitar os posts anteriores.


em seguida clicamos no botão embaixo do menu "Arquivo", mostrado na imagem acima, irá surgir um menu pequeno, sendo que nesse devemos escolher a opção "Módulo" será criado um novo módulo com o nome "Módulo1" que é padrão do Excel...


Vejam o módulo já criado... na imagem acima...


Pois bem na área branca que surge na tela com a criação do Módulo1 é onde iremos escrever os códigos que irão programar o nosso projeto.



O código a seguir trata-se de um código muito útil,,, pois é ele quem irá numerar todos os nossos registros não permitindo que o  código seja duplicado e sempre gerando um com a soma do ultimo gerado...




Function CODIGO()
    Dim BANCO As Database
    Dim TABELA As Recordset
        Set BANCO = OpenDatabase(ThisWorkbook.Path & "/" & ThisWorkbook.Name, False, False, "EXCEL 8.0")
        Set TABELA = BANCO.OpenRecordset("AGENDA$")
    If TABELA.EOF And TABELA.BOF Then
        Agenda.numero.Text = 1
    Else
        TABELA.MoveLast
       Agenda.numero.Text = Format(TABELA("NUMERO") + 1)
    End If
End Function


Explicando cada linha do código


Function CODIGO() = Criando a função (sendo que o nome da mesma é "CODIGO"



    Dim BANCO As Database =       Dim (Declara uma variável) BANCO (é o nome da variável) As (será de qual tipo?) Database (difine o Tipo da variável como Banco de Dados)



    Dim TABELA As Recordset  = Dim (Declara uma variável) TABELA (é o nome da variável) As (será de qual tipo?) Recordset  (difine o Tipo da variável como Tabela de Registtros)



        Set BANCO = OpenDatabase(ThisWorkbook.Path & "/" & ThisWorkbook.Name, False, False, "EXCEL 8.0")

A linha acima define automaticamente o nome da pasta de trabalho que esta em uso, assim como qual pasta ela se encontra.



        Set TABELA = BANCO.OpenRecordset("AGENDA$")

A linha acima define qual será a planilha (veja imagem abaixo) utilizada, no caso "AGENDA" que tem que ser escrito dentro das aspas e o cifrão antes da aspas que fecha.





Aqui vamos fazer uma condição "se"

    If TABELA.EOF And TABELA.BOF Then

if = inicio do bloco "se"

TABELA.EOF And TABELA.BOF = tabela for vazia

Then  = faça

        Agenda.numero.Text = 1  Agenda = nome do formulário, numero = nome do objeto, Text = propriedade onde irá aparecer o código.


    Else = se não for vazia a tabela


        TABELA.MoveLast   = mover-se para o ultima linha vazia


       Agenda.numero.Text = Format(TABELA("NUMERO") + 1)

A linha acima diz o seguinte: vai colocar no formulário de nome "Agenda" dentro do objeto de nome "numero" na propriedade "Text" o valor que estiver no banco de dados gravado na ultima linha e vai acrescentar 1 a esse valor.


    End If   =  fim do bloco is "se"


End Function  = fim da function "função"



Colocando o código para funcionar

Pronto o código está feito e explicado, agora vamos chamar ele no formulário no evento "initialize" para que quando o mesmo for iniciado automaticamente ele já puxe o código correto.

Para isso vamos dar 2 cliques sobre o formulário para abrira janela de codificação do mesmo...


feito isso o código é o seguinte



Private Sub UserForm_initialize()
    Módulo1.CODIGO
End Sub


1ª  linha cria uma rotina dentro do formulário no evento Initialize

2ª  chama dentro do Módulo1 a função de nome CODIGO

3 ª finaliza a rotina...


Bom é isso aí, após rodarmos o programa como não temos nenhum registro ainda o código gerado deve ser 1, e irá aparecer dentro da caixa de texto Numero....



Dúvidas deixem comentários...

Edivan Cabral



segunda-feira, 25 de fevereiro de 2013

Transformando numero negativos em positivos e vice versa

FÓRMULA PARA TORNAR POSITIVOS OS NÚMEROS NEGATIVOS E VICE VERSA


Visitem meu novo blog:

https://programacaopassoapasso.wordpress.com/






Vejam na imagem acima que temos na coluna "A" números negativos e positivos, caso precisarmos mudar os negativos para positivos e vice versa, vamos usar a seguinte fórmula


=(célula) *-1

ou seja o valor da célula deseja multiplicado por negativo 1.




ao darmos enter o resultado será 10 positivo...

se copiarmos a célula "B1" e colarmos nas demais abaixo da mesma obtermos o inverso de cada célula na coluna "A"





TROCANDO SOMENTE OS NÚMEROS NEGATIVOS

para  mudarmos somente onde a referencia é negativa vamos usar a fórmula do "se" em conjunto com essa apresentada a cima

A fórmula ficará assim


=SE(A1<0;A1*-1;A1)


Explicação


Se o valor da célula "A1" for menor que zeroentão fazer "A1" *-1 caso nao seja fazer o valor da célula "A"




Bom é isso até apróxima

Edivan Cabral







Ativando Referencia Microsoft DAO 3.6 Obejct Library.

Microsoft DAO 


É importantíssimo ativarmos a referencia Microsoft DAO 3.6 Obejct Library, para o bom funcionamento do projeto.

Vou ensinar passo a passo a ativar essa referencia...


Vamos no  editor VBA, para isso temos que apertar "Alt + F11" ou então podemos ir na guia desenvolvedor 


e em seguida no botão Visual Basic que se encontra na esquerda superior...

Após abrimos o Editor Visual Basic, vamos na guia "Ferramentas" irá se abrir um menu, devemos escolher "Referências..."




em seguida procurar por Microsoft DAO 3.6 Obejct Library, caso não tenha essa tem que ser a mais próxima dela.





e depois dar um "OK" e pronto já estamos com a nossa referencia habilitada...



Vlw Galera outra hora posto meu sobre o nosso projeto...

Edivan Cabral

sexta-feira, 15 de fevereiro de 2013

Ctrl + D Truque simples Excel


    Existe uma série de coisas simples que todo mundo deveria saber para usar de forma rápida e inteligente o Excel, com o intuito de acelerar o trabalho venho desenvolvendo para a empresa no qual atuo como Aux. Administrativo varias planilhas inteligentes.... Segue um dica para quem copia e cola muito...

Ex: Se você tem em uma determinada célula uma data qualquer e quer copiar essa data em uma série de linhas sucessivas, faça o seguinte: Selecione a célula com a data e juntamente as demais desejadas e ao invéz de Ctrl + C e Ctrl + V, tecle Ctrl + D, assim irá copiar e colar automaticamente o valor da primeira célula...

Valeu galera um  abraço a todos e  quem tiver uma dica e quiser postar é sempre bom compartilhar...

quinta-feira, 14 de fevereiro de 2013

Boas Vindas!

Olá galera!

É com  grande prazer que inicio este blog com o intuito de ajudar a esclarecer pequenas e persistentes duvidas que já me perseguiram por muito e muito tempo.

Tenho 25 anos, sou casado e há 2 anos conheci o Excel e daí em diante abriu-se um universo de possibilidades sendo o limite apenas a minha imaginação...

Espero poder ajudar da melhor forma possível....

Edivan Cabral

edivan.cabral@yahoo.com.br