About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2008-02-25

 Clicar no banner

 

O TechDays está a chegar!

 

11-14 de Março 2008 - Centro de Congressos de Lisboa

2008-02-24

Há dias, colocaram-me a seguinte questão (adaptada): "Como posso fazer com que, digitando uma sequência de 3 algarismos numa determinada célula da Folha1, por exemplo, em A1, apareça, na coluna B, o resultado da pesquisa na Folha2, em que as células da coluna B contêm determinados números, cujos primeiros 3 algarismos, a contar da esquerda, podem ou não conter os algarismos digitados, na mencionada célula A1 da Folha1. Especificidade: não existe, na tabela da folha2, nenhum número que termine em 0 [zero] (ex: 12500)".
 
Vejamos o exemplo:
 
Resultado que se pretende na Coluna B da Folha1, ao inserir em A1 os algarismos 125:
 
A pesquisa a ser efectuada, na Folha2, procurando pelos 3 algarismos digitados, devendo dar como resultado, todos os números que, na Coluna B, contenham os algarismos digitados na Folha1, na célula A1:
 

Assim, teremos que digitar, na célula B1 fa Folha 1, a seguinte fórmula: =VLOOKUP(A1;Sheet2!$A$1:$B$10;2)

 

Por sua vez, na célula B2, digitamos a seguinte fórmula:

=IF(B1="";"";IF(RIGHT(B1;1)=1;"";IF(VLOOKUP($A$1;Sheet2!$A$1:$B$10;2)=$B$1;$B$1-1)))

 

E, para terminar, digitamos na célula B3, copiando para tantas células dessa coluna (B4, B5, B6, etc...), quantas aquelas que sejam necessárias, para mostrar todas as ocorrências que contenham os 3 algarismos mencionados:
 

=IF(B2="";"";IF(VALUE(RIGHT(B2;1))=1;"";IF(VLOOKUP($A$1;Sheet2!$A$1:$B$10;2)=$B$1;$B$1-VALUE(RIGHT(B2;1)))))

 

Tópicos relacionados:

 

2008-01-12

Carlos Rondão, criou vários jogos em ambiente Excel.


Um deles é o famoso TETRIS:



Podem baixá-lo aqui


Do mesmo autor, um jogo tipo SLOT VIDEO MACHINE:



Podem baixá-lo aqui

2007-12-17

Num newsgroup, colocaram a seguinte questão (adaptada): "Numa folha e na célula B1 temos um valor que é um somatório de valores de células. Ora, na célula A1 pretendia o cálculo automático de um valor percentual em função do resultado obtido em B1. O valor percentual é diferente conforme o intervalo de valores de referência (os valores de referência e respectivas percentagens encontram-se nas colunas D, E e F). Será possível? Como?
 
O exemplo:
 
Como possível solução, a seguinte fórmula, em C1, para obter a percentagem em função do valor contido em B1:
 

=VLOOKUP(B1;D1:F3;3)

 

e em A1, como resultado pretendido:

=B1*C1

 

Tópicos relacionados:

2007-11-15
209: VBA - Application.InputBox()
Num newsgroup, colocaram a seguinte questão:
"Numa macro, o comando:
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select, selecciona todas as células com informação.
Esta informação pode depois ser copiada com o comando:
Selection.Copy
O que pretendia era usar o primeiro comando, mas de forma que ele só me seleccionasse os dados contidos numa coluna especifica.

Por Exemplo, a coluna "C" tanto pode ter 10 linhas com dados como 20 e só pretendo a selecção desses dados, todos os outros são secundários para o efeito.

Será que é possível?"


Através do seguinte exemplo, podemos equacionar a questão e ver o resultado:










O Código do exemplo:

'---------------------------------------------------------------------------------------
' Procedure : Copia_Range_Variavel
' DateTime  : 15-11-2007 19:04
' Author    : JRod
' Purpose   : Copiar um Range Variável
'---------------------------------------------------------------------------------------
'
Sub Copia_Range_Variavel()

    Dim myCel1, myCel2, myCel3 As Range
    Dim Str1, Str2, Str3 As String

    On Error Resume Next
    Set myCel1 = Application.InputBox _
                 (prompt:="Confirme a célula activa, ou seleccione outra célula" _
                  & Chr(10) & "Cancel: Sai !", _
                  Title:=" Copia Range", _
                  Default:=ActiveCell.Address, Type:=8)
    On Error GoTo 0

    If myCel1 Is Nothing Then
        MsgBox "Desistiu"
        Exit Sub
    End If

    Set myCel2 = Application.InputBox _
                 (prompt:="Confirme a célula activa, ou seleccione outra célula" _
                  & Chr(10) & "Cancel: Sai !", _
                  Title:=" Copia Range", _
                  Default:=ActiveCell.Address, Type:=8)
    On Error GoTo 0

    If myCel2 Is Nothing Then
        MsgBox "Desistiu"
        Exit Sub
    End If

    Str1 = myCel1.Address
    Str2 = myCel2.Address

    Range(Str1 & ":" & Str2).Select
    Selection.Copy
    Range("F1").PasteSpecial (xlPasteValues)
    Application.CutCopyMode = False

End Sub


Para colocar o código, acede-se ao editor do VB do Excel, com ALT + F11, cria-se um módulo e copia-se o código para lá. Depois, para o executar, podemos utilizar ALT + F8.


A imagem do que se pretende:



Tópicos relacionados:




2007-11-05

Há dias, colocaram-me a seguinte questão (adaptada): "Tenho uma tabela em que uma determinada combinação de 2 variáveis, corresponde a um código. Numa outra tabela, onde tenho estas variáveis, preciso colocar o código que corresponde a cada combinação de 2 variáveis. Preciso de preencher a coluna M com o código da 1ª tabela associada a A + B (exemplo: B5=a, C5=2 - Código: III -, a que corresponde o conjunto das variáveis C + D( exemplo: G6 + H6 -- resultado em M6: III).
 
O exemplo, nas imagens:
 

 

Se alterar em H6, de 2 para 3, então em M6 o resultado será IV: 

 

A fórmula, em M6 (copiada para as células pretendidas da coluna M):

{=INDEX($D$2:$D$10;MATCH(G6&H6;$B$2:$B$10&$C$2:$C$10;0))}

NOTA: Ctrl + Shift + Enter na célula activa, para obter como um array,ou seja, com {}.

 

Tópicos relacionados:

2007-10-28

Depois de se ter instalado o Microsoft Office Service Pack 3 (SP3), não é possível abrir, no Microsoft Excel 2003, workbook files do Microsoft Excel 5.0/95 que contenham macros do Visual Basic for Applications (VBA) .

 

Ver mais em: Ajuda e Suporte Técnico Microsoft

2007-10-20

 

Clicar no banner para aceder ao link.

Na próxima semana: 5 webcasts, um por dia, sempre às 15h

 
2007-10-17

Para aceder ao link, clicar no banner.

2007-10-06

Se pretendermos verificar o número de ocorrências num determinado Range, sejam as ocorrências "MG", "VM", "PR" e "MD", como no seguinte exemplo:

podemos utilizar a seguinte fórmula, adaptada a cada uma das ocorrências:

="MG" & " " &SUMPRODUCT(--(RIGHT(A1:F2;2)="MG"))

="MV" & " " &SUMPRODUCT(--(RIGHT(A1:F2;2)="VM"))

="PR" & " " &SUMPRODUCT(--(RIGHT(A1:F2;2)="PR"))

="MD" & " " &SUMPRODUCT(--(RIGHT(A1:F2;2)="MD"))

 

Tópicos relacionados: