Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

.: Vitrine

Carregando artigos...

Views

Mostrando postagens com marcador ws. Mostrar todas as postagens
Mostrando postagens com marcador ws. Mostrar todas as postagens

VBA Excel - Inserindo icone em suas aplicações

Digamos que você tenha diversas planilhas abertas no computador neste momento.

Cada uma delas com conteúdos totalmente distintos. Não seria bom se você pudesse identificá-las somente olhando para os seus ícones na barra do Windows? Como podemos fazer isso?

Na verdade não requer prática, nem tão pouco experiência, basta que siga os passos abaixo:

Crie um novo módulo com um nome como: mdl_Functions_Icon

Dentro do módulo cole o código abaixo:

CÓDIGO: 

Declare Function GetActiveWindow32 Lib "USER32" Alias "GetActiveWindow" () As Integer
Declare Function SendMessage32 Lib "USER32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function ExtractIcon32 Lib "SHELL32.DLL" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long

Function ChangeApplicationIcon()
    ' Author:                     Date:               Contact:                 URL:
    ' André Bernardes             22/11/2010 13:43   bernardess@gmail.com     https://sites.google.com/site/vbabernardes/
    ' Carrega o icone identificando a planilha.
    ' Listening:

    Dim Icon& ' Pegue o ícone de outro aplicativo como abaixo:
    
    Const NewIcon$ = "C:\PlanIcons\DashBoard.ico"  ' Um arquivo .ICO em um diretório: '
    
    Let Icon = ExtractIcon32(0, NewIcon, 0)
    
    SendMessage32 GetActiveWindow32(), &H80, 1, Icon
End Function

Na pasta de inicialização da sua planilha faça uma chamada a esta função, como demonstrado abaixo:

CÓDIGO: 

Private Sub Workbook_Open()
    ' Author:                     Date:               Contact:                 URL:
    ' André Bernardes             27/09/2010 09:07   bernardess@gmail.com     https://sites.google.com/site/vbabernardes/
    ' Abre a planilha para acesso a dados.
    ' Listening: Don´t Give Hate a Chance - Jamiroquai.

    Let Application.ScreenUpdating = False
    Let Application.Caption = ".: DashBoard®"
    Let Application.StatusBar = "A&A - In Any Place®"

    Call ChangeApplicationIcon

    Sheets("Dashboard").Select
    ActiveSheet.Outline.ShowLevels RowLevels:=1
    
    frmSplash.Show

    Sheets("Menu").Select

    Let Application.ScreenUpdating = True
End Sub

Pronto!

Todas as suas aplicações podem ter ícones distintos, identificando-as mais facilmente até mesmo para seus clientes.

Tags: Bernardes, VBA, Office, Excel, worksheets, sheets, ws, insert, inserindo, pasta


VBA Excel - Ordena worksheets da planilha - Sort All Sheets in a Workbook

Inline image 1

Podemos ordenar todas as Sheets duma seqüência alfabética.

Sub SrtShs()
Dim iSheet As Long, iBefore As Long 
For iSheet = 1 To ActiveWorkbook.Sheets.Count     
    Let Sheets(iSheet).Visible = True 
    For iBefore = 1 To iSheet - 1       
        If UCase(Sheets(iBefore).Name) & UCase(Sheets(iSheet).Name) Then  
                      ActiveWorkbook.Sheets(iSheet).Move 
          Before:=ActiveWorkbook.Sheets(iBefore)         
          Exit For       
        End If     
    Next iBefore   
Next iSheet 
End Sub







Reference:

Inspiration:

TagsVBA, Excel, wrap, sheet, sheets, ws, insert, sort, ordena


VBA Excel - Loop por todas as worksheets

Sim, ter a capacidade de passar por todas as planilhas do Workbook é simples, mas necessário.

Talvez precise proteger, configurar, encriptar, estabelecer privilégios ou mesmo atualizar tabelas em todas as Sheets. Essa SUB lhe permitirá isso:

  Sub SheetsWrap()
    Dim iSheet as Long

    Let Application.ScreenUpdating = False

    For iSheet = 1 To ActiveWorkbook.WorkSheets.Count

          Let WorkSheets(iSheet).cells(1,1) = "'" & WorkSheets(iSheet).name

    Next iSheet

    Let Application.ScreenUpdating = True
  End Sub

Reference:

Inspiration:

TagsVBA, Excel, loop, laço, wrap, sheet, sheets, ws


VBA Excel: Inserindo novas planilhas (worksheets) na pasta.


Pense bem: Planos de Contas, Agrupamentos, listas de diferentes locais, etc... Por 'n' motivos precisamos criar diversas pastas no MS Excel. Mas como fazê-lo de forma automática? Abaixo segue um modo simples e funcional.

Dim ws As Worksheet                    ' Cria um objeto "worksheet".

Set ws = Sheets.Add                      ' Adiciona uma nova pasta na planilha.

ws.Name = "NewName"                 ' Atribui um nome a pasta.

Boa diversão!

Tags: Bernardes, VBA, Office, Excel, worksheets, sheets, ws, insert, inserindo, pasta


André Luiz Bernardes
A&A® - Work smart, not hard.

VBA Excel - Ordena worksheets da planilha - Sort All Sheets in a Workbook


Podemos ordenar todas as planilhas numa seqüência alfabética, enquanto os ícones por worksheet não vem.

Sub SrtShs()
Dim iSheet As Long, iBefore As Long 

For iSheet = 1 To ActiveWorkbook.Sheets.Count     
    Let Sheets(iSheet).Visible = True 

    For iBefore = 1 To iSheet - 1       
        If UCase(Sheets(iBefore).Name) & UCase(Sheets(iSheet).Name) Then  
                    ActiveWorkbook.Sheets(iSheet).Move 

          Before:=ActiveWorkbook.Sheets(iBefore)         

          Exit For       
        End If     

    Next iBefore   
Next iSheet 

End Sub

Tags: Excel, worksheets, sheets, ws, insert, inserindo, sort, ordena


André Luiz Bernardes
A&A® - Work smart, not hard.

VBA Excel - Loop por todas as worksheets

Ok, isso é o básico, mas é válido, especialmente para iniciantes.

  Sub SheetsWrap()
    Dim iSheet as Long

    Let Application.ScreenUpdating = False

    For iSheet = 1 To ActiveWorkbook.WorkSheets.Count
     Let WorkSheets(iSheet).cells(1,1) = "'" & WorkSheets(iSheet).name
    Next iSheet

    Let Application.ScreenUpdating = True
  End Sub



Tags: Excel, loop, wrap, worksheets, sheets, ws


André Luiz Bernardes
A&A® - Work smart, not hard.

diHITT - Notícias