"Basta sermos simples para sermos ricos em nossos atos!" (E.S.P.)
----------
Supondo que temos o intervalo "A1:A7" com valores de 1 a 7 respectivamente.
Por intermédio de funções matriciais poderemos contar um intervalo ou fazer cálculos com critérios:
{=SOMA((A1:A7>2)*(A1:A7<7))}
Nesse exemplo, temos como resultado a contagem dos valores maiores que 2 e menores que 7.
********
{=SOMA((A1:A7>2)*(A1:A7<7)*a1:a7)}
Nesse exemplo, temos como resultado a soma dos valores maiores que 2 e menores que 7.
********
Sempre antes de finalizar a função matricial, usar "CTRL + SHIFT + ENTER".
----------
"O potencial humano só é medido por intermédio dos atos!" (E.S.P.)
sábado, maio 14, 2005
Transferência de dados para outra planilha
"Basta sermos simples para sermos ricos em nossos atos!" (E.S.P.)
----------
Private Sub Worksheet_Change(ByVal Target As Range)
'
'Autor: Eneias dos Santos Pedroso
'
If Target.Row = 1 Or Target.Row = 2 Then Exit Sub
For j = 0 To 4997
If Target.Column = 14 Then
If Worksheets(2).Cells(j + 4, 1) = "" Then
Worksheets(2).Cells(j + 4, 1) = Cells(Target.Row, Target.Column - 13)
Worksheets(2).Cells(j + 4, 2) = Cells(Target.Row, Target.Column - 12)
Worksheets(2).Cells(j + 4, 3) = Cells(Target.Row, Target.Column - 11)
Worksheets(2).Cells(j + 4, 4) = Cells(Target.Row, Target.Column - 10)
Worksheets(2).Cells(j + 4, 5) = Cells(Target.Row, Target.Column - 9)
Worksheets(2).Cells(j + 4, 6) = Cells(Target.Row, Target.Column - 8)
Worksheets(2).Cells(j + 4, 7) = Cells(Target.Row, Target.Column - 7)
Worksheets(2).Cells(j + 4, 8) = Cells(Target.Row, Target.Column - 6)
Worksheets(2).Cells(j + 4, 9) = Cells(Target.Row, Target.Column - 5)
Worksheets(2).Cells(j + 4, 10) = Cells(Target.Row, Target.Column - 4)
Worksheets(2).Cells(j + 4, 11) = Cells(Target.Row, Target.Column - 3)
Worksheets(2).Cells(j + 4, 12) = Cells(Target.Row, Target.Column - 2)
Worksheets(2).Cells(j + 4, 13) = Cells(Target.Row, Target.Column - 1)
Worksheets(2).Cells(j + 4, 14) = Cells(Target.Row, Target.Column)
Exit For
End If: End If: Next j
End Sub
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
----------
Private Sub Worksheet_Change(ByVal Target As Range)
'
'Autor: Eneias dos Santos Pedroso
'
If Target.Row = 1 Or Target.Row = 2 Then Exit Sub
For j = 0 To 4997
If Target.Column = 14 Then
If Worksheets(2).Cells(j + 4, 1) = "" Then
Worksheets(2).Cells(j + 4, 1) = Cells(Target.Row, Target.Column - 13)
Worksheets(2).Cells(j + 4, 2) = Cells(Target.Row, Target.Column - 12)
Worksheets(2).Cells(j + 4, 3) = Cells(Target.Row, Target.Column - 11)
Worksheets(2).Cells(j + 4, 4) = Cells(Target.Row, Target.Column - 10)
Worksheets(2).Cells(j + 4, 5) = Cells(Target.Row, Target.Column - 9)
Worksheets(2).Cells(j + 4, 6) = Cells(Target.Row, Target.Column - 8)
Worksheets(2).Cells(j + 4, 7) = Cells(Target.Row, Target.Column - 7)
Worksheets(2).Cells(j + 4, 8) = Cells(Target.Row, Target.Column - 6)
Worksheets(2).Cells(j + 4, 9) = Cells(Target.Row, Target.Column - 5)
Worksheets(2).Cells(j + 4, 10) = Cells(Target.Row, Target.Column - 4)
Worksheets(2).Cells(j + 4, 11) = Cells(Target.Row, Target.Column - 3)
Worksheets(2).Cells(j + 4, 12) = Cells(Target.Row, Target.Column - 2)
Worksheets(2).Cells(j + 4, 13) = Cells(Target.Row, Target.Column - 1)
Worksheets(2).Cells(j + 4, 14) = Cells(Target.Row, Target.Column)
Exit For
End If: End If: Next j
End Sub
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
terça-feira, maio 10, 2005
Funções estatísticas com mais de 30 argumentos
"Basta sermos simples para sermos ricos em nossos atos!" (E.S.P.)
----------
Bem sabemos que há momentos que precisamos de uma função estatística com mais de 30 argumentos para referenciarmos células não adjacentes.
Neste exemplo para a função "SOMA" temos 270 argumentos:
=SOMA((A1;A2;A3;A4;A5;A6;A7;A8;A9;A10;A11;A12;A13;A14;
A15;A16;A17;A18;A19;A20;A21;A22;A23;A24;A25;A26;A27;A28;
A29;A30):(B1;B2;B3;B4;B5;B6;B7;B8;B9;B10;B11;B12;B13;B14;
B15;B16;B17;B18;B19;B20;B21;B22;B23;B24;B25;B26;B27;B28;
B29;B30):(C1;C2;C3;C4;C5;C6;C7;C8;C9;C10;C11;C12;C13;C14;
C15;C16;C17;C18;C19;C20;C21;C22;C23;C24;C25;C26;C27;C28;
C29;C30):(D1;D2;D3;D4;D5;D6;D7;D8;D9;D10;D11;D12;D13;D14;
D15;D16;D17;D18;D19;D20;D21;D22;D23;D24;D25;D26;D27;D28;
D29;D30):(E1;E2;E3;E4;E5;E6;E7;E8;E9;E10;E11;E12;E13;E14;
E15;E16;E17;E18;E19;E20;E21;E22;E23;E24;E25;E26;E27;E28;E29;
E30):(F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;
F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28;F29;F30):(G1;
G2;G3;G4;G5;G6;G7;G8;G9;G10;G11;G12;G13;G14;G15;G16;G17;
G18;G19;G20;G21;G22;G23;G24;G25;G26;G27;G28;G29;G30):(H1;
H2;H3;H4;H5;H6;H7;H8;H9;H10;H11;H12;H13;H14;H15;H16;H17;
H18;H19;H20;H21;H22;H23;H24;H25;H26;H27;H28;H29;H30):(I1;
I2;I3;I4;I5;I6;I7;I8;I9;I10;I11;I12;I13;I14;I15;I16;I17;I18;I19;I20;I21;
I22;I23;I24;I25;I26;I27;I28;I29;I30))
Apenas uma observação:
Será necessário tirar os espaços que contém no final de cada linha antes de colar a função em uma célula (os espaços foram colocados devido à largura da página no blog).
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
----------
Bem sabemos que há momentos que precisamos de uma função estatística com mais de 30 argumentos para referenciarmos células não adjacentes.
Neste exemplo para a função "SOMA" temos 270 argumentos:
=SOMA((A1;A2;A3;A4;A5;A6;A7;A8;A9;A10;A11;A12;A13;A14;
A15;A16;A17;A18;A19;A20;A21;A22;A23;A24;A25;A26;A27;A28;
A29;A30):(B1;B2;B3;B4;B5;B6;B7;B8;B9;B10;B11;B12;B13;B14;
B15;B16;B17;B18;B19;B20;B21;B22;B23;B24;B25;B26;B27;B28;
B29;B30):(C1;C2;C3;C4;C5;C6;C7;C8;C9;C10;C11;C12;C13;C14;
C15;C16;C17;C18;C19;C20;C21;C22;C23;C24;C25;C26;C27;C28;
C29;C30):(D1;D2;D3;D4;D5;D6;D7;D8;D9;D10;D11;D12;D13;D14;
D15;D16;D17;D18;D19;D20;D21;D22;D23;D24;D25;D26;D27;D28;
D29;D30):(E1;E2;E3;E4;E5;E6;E7;E8;E9;E10;E11;E12;E13;E14;
E15;E16;E17;E18;E19;E20;E21;E22;E23;E24;E25;E26;E27;E28;E29;
E30):(F1;F2;F3;F4;F5;F6;F7;F8;F9;F10;F11;F12;F13;F14;F15;F16;
F17;F18;F19;F20;F21;F22;F23;F24;F25;F26;F27;F28;F29;F30):(G1;
G2;G3;G4;G5;G6;G7;G8;G9;G10;G11;G12;G13;G14;G15;G16;G17;
G18;G19;G20;G21;G22;G23;G24;G25;G26;G27;G28;G29;G30):(H1;
H2;H3;H4;H5;H6;H7;H8;H9;H10;H11;H12;H13;H14;H15;H16;H17;
H18;H19;H20;H21;H22;H23;H24;H25;H26;H27;H28;H29;H30):(I1;
I2;I3;I4;I5;I6;I7;I8;I9;I10;I11;I12;I13;I14;I15;I16;I17;I18;I19;I20;I21;
I22;I23;I24;I25;I26;I27;I28;I29;I30))
Apenas uma observação:
Será necessário tirar os espaços que contém no final de cada linha antes de colar a função em uma célula (os espaços foram colocados devido à largura da página no blog).
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
sábado, maio 07, 2005
Instrução "Private" com propriedade "Cells"
"Basta sermos simples para sermos ricos em nossos atos!" (E.S.P.)
----------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Then Exit Sub
If Target.Column = 2 And Target = "DEPOSITADO" Then
If Worksheets(2).Cells(Target.Row, Target.Column - 1) = "" Then
Worksheets(2).Cells(Target.Row, Target.Column - 1) = Cells(Target.Row, Target.Column - 1)
Cells(Target.Row, Target.Column - 1).ClearContents
Target = "Ok"
End If: End If
End Sub
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
----------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Then Exit Sub
If Target.Column = 2 And Target = "DEPOSITADO" Then
If Worksheets(2).Cells(Target.Row, Target.Column - 1) = "" Then
Worksheets(2).Cells(Target.Row, Target.Column - 1) = Cells(Target.Row, Target.Column - 1)
Cells(Target.Row, Target.Column - 1).ClearContents
Target = "Ok"
End If: End If
End Sub
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
sexta-feira, maio 06, 2005
Filtro avançado com planilha Travada
"Basta sermos simples para sermos ricos em nossos atos!" (E.S.P.)
----------
Sub FiltroAvançado()
Dim r As Range
Set r = Selection 'Selecionar o intervalo antes de filtrar
On Error GoTo ErrorHandler
r.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("D1:D3"), Unique:=False
'Altere o intervalo de critérios onde há "D1:D3"
ErrorHandler:Select Case Err.Number
Case 1004
MsgBox "Selecione o intervalo a ser filtrado!"
Case 0
Exit Sub
Case Else
MsgBox "Erro nº " & Err
End Select
End Sub
Sub MostrarDados()
Application.Run "'Filtro avançado com planilha travada.xls'!FiltroAvançado"
Range("A1").Select
'Para ativar a macro e mostrar os dados novamente, selecione o intervalo filtrado!
'Após o filtro já existirá uma seleção, mas deverá selecionar o intervalo novamente.
'Ou, se preferir... selecione uma única célula, execute o filtro
'avançado novamente e logo após selecione as colunas inteiras.
End Sub
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
----------
Sub FiltroAvançado()
Dim r As Range
Set r = Selection 'Selecionar o intervalo antes de filtrar
On Error GoTo ErrorHandler
r.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("D1:D3"), Unique:=False
'Altere o intervalo de critérios onde há "D1:D3"
ErrorHandler:Select Case Err.Number
Case 1004
MsgBox "Selecione o intervalo a ser filtrado!"
Case 0
Exit Sub
Case Else
MsgBox "Erro nº " & Err
End Select
End Sub
Sub MostrarDados()
Application.Run "'Filtro avançado com planilha travada.xls'!FiltroAvançado"
Range("A1").Select
'Para ativar a macro e mostrar os dados novamente, selecione o intervalo filtrado!
'Após o filtro já existirá uma seleção, mas deverá selecionar o intervalo novamente.
'Ou, se preferir... selecione uma única célula, execute o filtro
'avançado novamente e logo após selecione as colunas inteiras.
End Sub
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
quinta-feira, maio 05, 2005
Função "SE" com 30 ou mais condições (argumentos)
"Basta sermos simples para sermos ricos em nossos atos!" (E.S.P.)
----------
=VALOR(SE(A1="";1;"")&SE(A2="";2;"")&SE(A3="";3;"")&SE(A4="";4;"")&SE(A5="";5;"")&SE(A6="";6;"")&SE(A7="";7;"")&SE(A8="";8;"")&SE(A9="";9;"")&SE(A10="";10;"")&SE(A11="";11;"")&SE(A12="";12;"")&SE(A13="";13;"")&SE(A14="";14;"")&SE(A15="";15;"")&SE(A16="";16;"")&SE(A17="";17;"")&SE(A18="";18;"")&SE(A19="";19;"")&SE(A20="";20;"")&SE(A21="";21;"")&SE(A22="";22;"")&SE(A23="";23;"")&SE(A24="";24;"")&SE(A25="";25;"")&SE(A26="";26;"")&SE(A27="";27;"")&SE(A28="";28;"")&SE(A29="";29;"")&SE(A30="";30;""))
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
----------
=VALOR(SE(A1="";1;"")&SE(A2="";2;"")&SE(A3="";3;"")&SE(A4="";4;"")&SE(A5="";5;"")&SE(A6="";6;"")&SE(A7="";7;"")&SE(A8="";8;"")&SE(A9="";9;"")&SE(A10="";10;"")&SE(A11="";11;"")&SE(A12="";12;"")&SE(A13="";13;"")&SE(A14="";14;"")&SE(A15="";15;"")&SE(A16="";16;"")&SE(A17="";17;"")&SE(A18="";18;"")&SE(A19="";19;"")&SE(A20="";20;"")&SE(A21="";21;"")&SE(A22="";22;"")&SE(A23="";23;"")&SE(A24="";24;"")&SE(A25="";25;"")&SE(A26="";26;"")&SE(A27="";27;"")&SE(A28="";28;"")&SE(A29="";29;"")&SE(A30="";30;""))
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
Encontrar valores não repetidos em um intervalo
"Basta sermos simples para sermos ricos em nossos atos!" (E.S.P.)
----------
Sub NãoRepetem()
'
'Autor: Eneias dos Santos Pedroso
'
For p = 1 To 4 '4 linhas
For q = 1 To 2 '2 colunas
n = Application.WorksheetFunction.CountIf([A1:B4], Cells(p, q))
'Onde há: [A1:B4], poderá mudar
If n = 1 Then MsgBox "O valor " & Cells(p, q) & " está em: " & Cells(p, q).Address
Next q: Next p
End Sub
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
----------
Sub NãoRepetem()
'
'Autor: Eneias dos Santos Pedroso
'
For p = 1 To 4 '4 linhas
For q = 1 To 2 '2 colunas
n = Application.WorksheetFunction.CountIf([A1:B4], Cells(p, q))
'Onde há: [A1:B4], poderá mudar
If n = 1 Then MsgBox "O valor " & Cells(p, q) & " está em: " & Cells(p, q).Address
Next q: Next p
End Sub
----------
Maiores esclarecimentos, acesse o link que está no título deste post !
Assinar:
Postagens (Atom)