Saberexcel - o site de quem precisa aprender macros microsoft excel vba
Essas Macros e Procedimentos do Aplicativo Microsoft Excel VBA(Visual Basic Application), busca caracteres texto em uma determinada célula, retornando parte de um código específico e ou palavra, primeira ou última. Observe que no exemplo de planilha inserí alguns Eventos para ajudar nos estudos, como abrir uma lista (combo) ao selecionar determinada célula. Há também alguns códigos que copiam dados para outra folha de planilha.
Espero que o exemplo possam ser útil. Fiquem com Deus. Expedito Marcondes.
O MÓDULO DE EDIÇÃO DE CÓDIGO DA FOLHA DE PLANILHA.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Worksheets(2).Name = "Tabela-SB " & Worksheets(1).Cells(17, 1) '---> Worksheets(2) = segunda folha de planilha
Saber1.Name = "Tabela-SB " & Worksheets(1).Cells(17, 1) '---> muda o nome da folha de planilha específica
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
X = Saber1.Name
If Intersect(Target, Range("A17")) Is Nothing Then 'evento será sensibilizado somente se a célula A17 for modificada
Exit Sub
Else
Saber1.Name = "Tabela-SB " & Worksheets(1).Cells(17, 1)
End If
Y = Saber1.Name
MsgBox "A planilha com nome [ " & X & " ], foi renomeada para [ " & Y & " ]", vbInformation, "Saberexcel"
[B17].Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A17")) Is Nothing Then
Exit Sub
Else
If Target = "" Then SendKeys "%{down}"
SendKeys "%{down}"
End If
End Sub
'..............................'
EM UM MÓDULO COMUM INSIRA OS MACROS ABAIXO.
'Esse macro copia a parte especifica à esquerda da célula
Sub md_copiar_parte_frase()
'Função Instr é usada para localizar a posição do espaço ou outro caracter
Cells(8, 2) = Left(Cells(8, 1), InStr(Cells(8, 1), " ") - 1)
'Isso copia a linha 2 caracteres da direita
Cells(9, 2) = Right(Cells(9, 1), 2)
End Sub
' lista de índice de macro de cada folha e seu nome
Sub md_listar_folhas_de_planilha()
For sb = 1 To Worksheets.Count
Cells(sb + 11, 1) = Worksheets(sb).Index
Cells(sb + 11, 2) = Worksheets(sb).Name
Next
End Sub
'Macro preencha na coluna B com 3 primeiros caracteres das células da coluna A
'em células (x, y) a primeira letra corresponde à linha ea segunda coluna
Sub md_loop_tres_primeiros_caracteres_codigos()
For sb = 2 To 65536
If Cells(sb, 1) = "" Then Exit For ' testando se a célula estiver vazia, sai do macro
Cells(sb, 2) = Left(Cells(sb, 1), 3)
Next
End Sub
Sub md_copiar_quatro_ultimos_caracteres()
Cells(9, 9) = Right(Cells(9, 7), 4)
End Sub
Sub md_copiar_parte_frase_limpar()
[B8:b9].ClearContents
End Sub
Sub md_listar_folhas_de_planilha_limpar()
[A12:B14].ClearContents
End Sub
Sub md_loop_tres_primeiros_caracteres_codigos_limpar()
[B1:B5].ClearContents
End Sub
Sub md_copiar_tres_ultimos_caracteres_limpar()
[I9].ClearContents 'ou Cells(9, 9).clearcontents
End Sub
Sub md_retorna_total_planilhas_existente_limpar()
[F26].ClearContents
End Sub
Sub md_renomeando_segunda_folha_de_planilha()
'renomeia macro índice folha 2 o novo nome é seguido por célula da tabela n º registrado A17
Worksheets(2).Name = "Tabela-SB " & Worksheets(1).Cells(17, 1)
End Sub
Sub md_ocultar_e_ou_mostrar_planilha()
'essa linha torna invisível a terceira planilha pela ordem
Worksheets(3).Visible = False
' esta linha pode fazer a terceira planilha pela ordem vísivel
'Worksheets(3).Visible = True
End Sub
'Essa macro conta a quantide de folha de planilha existentes no Livroa
Sub md_retorna_total_planilhas_existente()
Total = Worksheets.Count
Saber3.[F26].Value = "Existem [ " & Total & " ] planilhas neste livro"
MsgBox "Existem [ " & Total & " ] planilhas neste livro", vbInformation, "Saberexcel - site das macros"
Saber2.[E10].Value = "Existem [ " & Total & " ] planilhas neste livro"
End Sub
'A lista de macro (Folha 2) os arquivos no diretório especificado
'para melhor o critério de busca incluir os (asterisco - )
Sub md_listando_diretorios_saberexcel()
Dim vNome_Arquivos As String
Dim b As Long
Saber1.Select 'selecao da folha de planilha Tabela-SB(---)
sb = 1
vNome_Arquivos = Dir("c:\vba\*.xls") 'arquivos xls
Cells(sb, 1) = vNome_Arquivos
Do
sb = sb + 1
vNome_Arquivos = Dir
Cells(sb, 1) = vNome_Arquivos
If vNome_Arquivos = "" Then Exit Do
Loop
End Sub
Sub md_ocultar_e_ou_mostrar_planilha()
'essa linha torna invisível a terceira planilha pela ordem
'Worksheets(3).Visible = False
Saber2.Visible = True
'ou
'Sheets("Auxiliar).visivel = True ' ou False
'esta linha pode fazer a terceira planilha pela ordem vísivel
'Worksheets(3).Visible = True
End Sub
Sub md_principal()
Saber3.Select
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel
Acesso Livre - Registrados (REGISTRE-SE!)
Baixe o exemplo de planilha contendo os procedimentos e macros acima.
Excel planilha vba busca parte palavras exemplos (94.28 KB)