Anda di halaman 1dari 7

SaberExcel

http://www.saberexcel.com.br

PRODUTOS SABEREXCEL
Coleo 15.000 Macros Microsoft Excel VBA
DVD 14.000 Planilhas Exemplos Microsoft Excel VBA
Curso Completo Microsoft Excel VBA
DVD 1.800 Apostilas e Ebooks Microsoft Excel VBA e Excel Avanado
COMO FAZER - Programao Microsoft Excel VBA (Vrios Mdulos)

Seja um assinante do nosso site


Planilhas de programao fantsticas
Tudo sobre o Aplicativo Microsoft Excel VBA

Qualquer dvida, visite nosso site ou envie-nos um email.


http://www.saberexcel.com
contato@saberexcel.com

Copiar/Ordenar

NO COMUNS
AVALIADOS

Copia no duplicados
e ordena crescente
MACRO
MACRO COPIA
COPIA DADOS
DADOS NO
NO DUPLICADOS,
DUPLICADOS, ORDENA,
ORDENA, COMPARA
COMPARA DADOS
DADOS E
E MONTA
MONTA LISTA
LISTA DE
DE
Sub
Copiar_dados_em_comum()
Verificao
Sub
Copiar_dados_em_comum()
visualizar
explicao
(macro)
na
Dim vUltimaLinColC As Long, vUltimaLinOrdem As Long, vUltimaColLin As Integer
DADOS
tela
tela
Dim
vLinha
Dim vUltimaLin1
vUltimaLin1 As
As Long,
Long, vUltimaLin2
vUltimaLin2 As
As Long,
Long,
vLinha As
As Long,
Long, Rng
Rng As
As Range
Range
Visualizar
macros
na Tela ou VBE
Dim
Dim vProcura
vProcura As
As String
String
Saberexcel
'o que faremos na planilha principal, usa o with para no ficar repetindo o nome da planilha
VBA
With
With Sheets("Principal")
Sheets("Principal")
Macros
[A8].Select
Objetos
' localizar ltima linha da coluna C
Mtodos
vUltimaLinColC
vUltimaLinColC =
= .Range("C"
.Range("C" &
& Rows.Count).End(xlUp).Row
Rows.Count).End(xlUp).Row
Propriedades
'' ultima
ultima coluna
coluna usada
usada na
na linha
linha 1
1
Propriedades
vUltimaColLin
vUltimaColLin =
= .Cells(1,
.Cells(1, Columns.Count).End(xlToLeft).Column
Columns.Count).End(xlToLeft).Column +
+1
1
Eventos
Se esta
esta coluna
Macros
'' Se
coluna for
for <=
<= 53
53 a
a 53
53 seguida
seguida
If
If vUltimaColLin
vUltimaColLin <
< 52
52 Then
Then vUltimaColLin
vUltimaColLin =
= 53
53
Clulas
Linhas
'' Copiar
Copiar com
com filtro
filtro avanado
avanado
.Range("C5:C" &
Colunas
.Range("C5:C"
& vUltimaLinColC).AdvancedFilter
vUltimaLinColC).AdvancedFilter Action:=xlFilterCopy,
Action:=xlFilterCopy, __
CopyToRange:=.Cells(1,
CopyToRange:=.Cells(1, vUltimaColLin),
vUltimaColLin), Unique:=True
Unique:=True
VBE
Userforms
'' ultima
ultima linha
linha para
para classificao
classificao em
em ordem
ordem
vUltimaLinOrdem
vUltimaLinOrdem =
= .Cells(Rows.Count,
.Cells(Rows.Count, vUltimaColLin).End(xlUp).Row
vUltimaColLin).End(xlUp).Row
Userforms

'Classificar
'Classificar a
a coluna
coluna Atual
Atual
.Range(.Cells(1, vUltimaColLin), .Cells(vUltimaLinOrdem, vUltimaColLin)).Sort Key1:=.Cells(1, vU
Header:=xlGuess,
Header:=xlGuess, __
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Copiar e Ordenar
'' Se
Se somente
somente a
a coluna
coluna BA
BA estiver
estiver cheia,
cheia, exit
exit sub
sub
If
Then
Sub
If vUltimaColLin
vUltimaColLin =
= 53
53 Limpar
Then Exit
Exit
Sub
para realizao do teste....
'' Caso
Caso contrrio
contrrio compare
compare as
as duas
duas colunas
colunas
vUltimaLin1
vUltimaLin1 =
= .Cells(Rows.Count,
.Cells(Rows.Count, vUltimaColLin
vUltimaColLin -- 1).End(xlUp).Row
1).End(xlUp).Row
vUltimaLin2
vUltimaColLin).End(xlUp).Row
vUltimaLin2 =
= .Cells(Rows.Count,
.Cells(Rows.Count,
vUltimaColLin).End(xlUp).Row
Planilha faz parte
do Mdulo Como Fazer - Microsoft

Excel VBA_IV -Sa

'' Definir
Definir O
O local
local de
de busca
busca na
na segunda
segunda coluna
coluna
Set
Set Rng
Rng =
= .Range(.Cells(1,
.Range(.Cells(1, vUltimaColLin),
vUltimaColLin), .Cells(vUltimaLin2,
.Cells(vUltimaLin2, vUltimaColLin))
vUltimaColLin))
' para cada linha na primeira coluna
For
For vLinha
vLinha =
=1
1 To
To vUltimaLin1
vUltimaLin1
'' Recuperar
Recuperar o
o nome
nome da
da coluna
coluna antes
antes da
da ltima
ltima
vProcura = .Cells(vLinha, vUltimaColLin - 1).Value
' Procurar o nome na coluna ao lado
''
If vProcuraLinha(Sheets("Principal"), Rng, vProcura) = 0 Then
MsgBox
MsgBox "Ateno
"Ateno ser
ser preenchida
preenchida a
a Lista
Lista do
do tem
tem ...:
...: [[ "" &
& vProcura
vProcura &
& "" ]",
]", vbInformation,
vbInformation, "S
"S
ActiveCell.Value
ActiveCell.Value =
= vProcura
vProcura
ActiveCell.Offset(1,
ActiveCell.Offset(1, 0).Value
0).Value =
= vProcura
vProcura
ActiveCell.Offset(1,
ActiveCell.Offset(1, 0).Select
0).Select
Sheets("Auxiliar").Range("B7").Value
Sheets("Auxiliar").Range("B7").Value =
= vProcura
vProcura
'Sheets("Auxiliar").PrintOut 'desabilitei seno vai jogar cada volta na fila de impresso...
'aqui
'aqui no
no caso
caso poder
poder imprimir
imprimir a
a lista
lista de
de no
no comuns
comuns
MsgBox
MsgBox "tem
"tem enviado
enviado para
para Lista
Lista de
de avaliao
avaliao -- tem...:
tem...: [[ "" &
& vProcura
vProcura &
& "" ]] e
e tambm
tambm para
para
End If
Next vLinha
End With
Set
Set Rng
Rng =
= Nothing
Nothing
End Sub
'Funo
'Funo para
para busca
busca e
e localizao,
localizao, simples,
simples, para
para fazer
fazer uma
uma funo
funo voce
voce poder
poder usar
usar o
o recurso
recurso
'do
'do proprio
proprio aplicativo,
aplicativo, o
o que
que ensino
ensino na
na lio
lio 1
1 do
do nosso
nosso curso,
curso, como
como trabalhar
trabalhar com
com o
o GM
GM
Function
Function vProcuraLinha
vProcuraLinha (Sht
(Sht As
As Worksheet,
Worksheet, Rng
Rng As
As Range,
Range, Localiza
Localiza As
As String)
String)
On
On Error
Error Resume
Resume Next
Next
vProcuraLinha
vProcuraLinha =
=0
0
With
With Sht
Sht
With
With Rng
Rng
vProcuraLinha
vProcuraLinha =
= .Find(What:=Localiza,
.Find(What:=Localiza, LookIn:=xlValues,
LookIn:=xlValues, LookAt:=xlPart,
LookAt:=xlPart, __
SearchOrder:=xlByRows,
SearchOrder:=xlByRows, SearchDirection:=xlNext,
SearchDirection:=xlNext, MatchCase:=False,
MatchCase:=False, __
SearchFormat:=False).Row
SearchFormat:=False).Row
End
End With
With
End
End With
With
End Function

Function
Function vProcuraLinha
vProcuraLinha (Sht
(Sht As
As Worksheet,
Worksheet, Rng
Rng As
As Range,
Range, Localiza
Localiza As
As String)
String)
On
On Error
Error Resume
Resume Next
Next
vProcuraLinha = 0
With
With Sht
Sht
With
With Rng
Rng
vProcuraLinha
vProcuraLinha =
= .Find(What:=Localiza,
.Find(What:=Localiza, LookIn:=xlValues,
LookIn:=xlValues, LookAt:=xlPart,
LookAt:=xlPart, __
SearchOrder:=xlByRows,
SearchOrder:=xlByRows, SearchDirection:=xlNext,
SearchDirection:=xlNext, MatchCase:=False,
MatchCase:=False, __
SearchFormat:=False).Row
SearchFormat:=False).Row
End
End With
With
End
End With
With
End
End Function
Function

A
A DADOS
DADOS E
E MONTA
MONTA LISTA
LISTA DE
DE NO
NO COMUNS
COMUNS

Aprender

olLin As Integer
ng
ng As
As Range
Range

Planilhas

etindo o nome da planilha

+
+1
1

Funes
Mdulos
Rotinas
Comparar
Dados
Clculos
Saberexcel
Determinao
Vontade
Necessidade

Copy,
Copy, __

Row
Row

ColLin)).Sort Key1:=.Cells(1, vUltimaColLin), Order1:=xlAscending,

ottom

ow
ow

Microsoft Excel VBA_IV -Saberexcel

ltimaColLin))
ltimaColLin))

ocura
ocura &
& "" ]",
]", vbInformation,
vbInformation, "Saberexcel"
"Saberexcel" '1
'1

volta na fila de impresso...

vProcura
vProcura &
& "" ]] e
e tambm
tambm para
para impresso",
impresso", vbInformation,
vbInformation, "Saberexcel"
"Saberexcel" '2
'2

oce
oce poder
poder usar
usar o
o recurso
recurso
trabalhar
trabalhar com
com o
o GM
GM

za
za As
As String)
String)

t:=xlPart,
t:=xlPart, __
atchCase:=False, __
atchCase:=False,

za
za As
As String)
String)

t:=xlPart,
t:=xlPart, __
atchCase:=False, __
atchCase:=False,

Palavra da busca

Necessidade

Intrima/Ficheappr.