Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

VBA Excel - Fechando o MS Excel - Close MS Excel

Inline image 1


O simples neste caso é perfeito. Atende, resolve e nos livra da dor de cabeça e perda de tempo desnecessária.

Dim xlApp As Object
    Set xlApp = GetObject(, "excel.application")      xlApp.Quit
   set XlApp = nothing

' Fecha a aplicação MS Excel.
Application.DisplayAlerts = FalseActiveworkbook.close ([VBYes])  ' Fecha o Workbook e salva as mudanças efetuadas.
Application.DisplayAlerts = True 


Fonte: Experts-Exchange

Tags: Excel, close, quit


VBA Excel - Contando células selecionadas.

Inline image 1


Pelos mais diversos motivos e situações, eventualmente precisamos saber quantas células estão selecionadas, eis como fazê-lo:

Sub CntSelected()
    Dim cell As Object
    Dim count As Integer

    Let count = 0

    For Each cell In Selection
        Let count = count + 1
    Next cell

    MsgBox count & " item(ns) selecionados..."
End Sub


Tags: Excel, count, cell,  contar, célula, selected, selecionada



VBA Excel - Fechando a planilha - Close workbook MS Excel


Tá, tudo bem, é simples eu sei, mas para quem não sabe é uma mão na roda.

ActiveWorkbook.Close False
' Fecha o Workbook ativo sem salvar qualquer alteração efetuada.

ActiveWorkbook.Close True ' Fecha o Workbook ativo e salva as mudanças efetuadas.


ActiveWorkbook.Close
' Fecha o Workbook ativo e deixa que o usuário no momento decida se deseja gravar ou não.


Fontes: ExcelTip
Envie seus comentários e sugestões e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com


✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

VBA Excel - Listando todas as worksheets existentes na planilha.

Inline image 1

Em muitas ocasiões, pelos mais diversos motivos, precisamos saber os nomes de todas as worksheets disponíveis em nossas planilhas.

Function ListSheets()
    ' Author:                 Date:                       Contact:                           URL:
    ' André Bernardes  08/08/2010 08:33    bernardess@gmail.com    http://al-bernardes.sites.uol.com.br/
    ' Lista todas as planilhas existentes no Workbook.


    Dim ws As Worksheet
    Dim x As Integer
    Dim nSheet As String

    Let Application.ScreenUpdating = False
    Let Application.DisplayAlerts = False
    Let Application.EnableEvents = False

    Let nSheet = "Analyse"            ' Worksheet que receberá a lista com os nomes.
    Let x = 3

    Sheets(nSheet).Select
    Sheets(nSheet).Range("C:C").Clear

    For Each ws In Worksheets
        Let Sheets(nSheet).Cells(x, 3) = ws.Name
        Let x = x + 1
    Next ws

    Let Application.ScreenUpdating = True
    Let Application.DisplayAlerts = True
    Let Application.EnableEvents = True
End Function


Tags: Excel, worksheet, list, listsheet




VBA Excel - Utilize a Propriedade 'Saved' para determinar se o workbook foi alterado.

Inline image 1

PODEMOS DETERMINAR SE ALGUMA ALTERAÇÃO FOI EFETUADA NO WORKBOOK, CHECANDO A PROPRIEDADE SAVED DO WORKBOOK. ESTA PROPRIEDADE RETORNA TRUE OU FALSE DEPENDENDO DA OCORRÊNCIA DE MUDANÇAS NO WORKBOOK.

Note:   Várias condições na sua worksheet, como a presença de funções de volatilidade, podem afetar a propriedade Saved. Funções de Volatilidade são aquelas que são recalculadas a cada momento que uma mudança é implementada na worksheet. Algumas dessas são RAND()NOW()TODAY(), e OFFSET().
O primeiro código mostra uma mensagem quando o workbook ativo foi alterada sem salvar:

  Sub NoSaved()     
  If ActiveWorkbook.Saved = False Then         
  MsgBox "Este workbook contém alterações sem salvar."     
  End If 
  End Sub  
O próximo código fecha o workbook descartando qualquer alteração que tenha sido efetuada nele:

  Sub FechaSemSalvar()     
  Let ThisWorkbook.Saved = True    
  Let ThisWorkbook.Close 
  End Sub  
Neste código abaixo, segue outro código que fecha o workbook e também descarta quaiquer alterações efetuadas:

  Sub FechaSemSalvar2()
  ThisWorkbook.Close SaveChanges:=False 
  End Sub 

Tags: Excel, saved, workbook


VBA Excel - Mudando o ícone padrão de uma planilha.

Inline image 1


Hello Folks!

Imagine em certo momento do seu dia-a-dia, onde diversas planilhas estão abertas simultaneamente. Isso é raro? Certamente Não. Uma das coisas mais úteis seria identificarmos rapidamente a planilha (ou aplicação MS Excel) que desejamos trabalhar naquele momento.

Quando olhamos para a nossa barra de tarefas do Windows observamos inúmeras planilhas abertas ou ainda pior, olhamos aquele ícone com todos as planilhas agrupadas.

E se...e somente se, pudéssemos atribuir um ícone diferente para cada aplicação MS Excel que estivéssemos usando? Imagine identificarmos a nossa aplicação rapidamente através do seu ícone, seria muito bom! Além disso destacaríamos a nossa aplicação de outras que estivessem rodando nas máquinas dos nossos Clientes.

Mas é possível alterar o ícone de uma planilha específica, ou de várias, que estão rodando em nossa máquina? Tá bom, chega de tortura, segue como é que se faz:

Ao abrir a planilha, solicite que uma das primeiras coisas a serem executadas, seja a nossa SUB ChangeAppIcon:

Private Sub Workbook_Open()
    ' Author:                     Date:                       Contact:                            URL:
    ' André Bernardes      02/03/2011 09:40    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
    ' Application: ***
    ' Ao abrir o formulário.
    ' Listening: - .
    ' Re-escrito/Atualizado em: .
    
    Let Application.ScreenUpdating = False
    Let Application.Caption = ".: Minha Aplicação"
    Let Application.StatusBar = "A&A - In Any Place"

    ' Abre um formulário.
    frmSplash.Show

    Call ChangeAppIcon
    Let Application.ScreenUpdating = True
End Sub

Em seguida crie um módulo com o nome de mdl_Functions_PutIcon e cole o código abaixo nele:

Option Explicit

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

Sub ChangeAppIcon()

    ' Author:                     Date:                       Contact:                            URL:
    ' André Bernardes      02/03/2011 08:14    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
    ' Application: 
    ' Modification of code from Excel Experts E-Letter Archives.
    ' Original code By Jim Rech can be found by following this
    ' Listening: - .
    ' Re-escrito/Atualizado em: .
    Dim Icon&

    ' Change Icon To Suit

    Const NewIcon$ = "C:\Bernardes\Application.ico" 

    Let Icon = ExtractIcon32(0, NewIcon, 0)

    SendMessage32 GetActiveWindow32(), &H80, 1, Icon '< 1 = big Icon

    SendMessage32 GetActiveWindow32(), &H80, 0, Icon '< 0 = small Icon
End Sub

Pronto! Agora você tem a solução para alterar o ícone das suas aplicações desenvolvidas com o MS Excel.

Esse ícone pode ser utilizado como indicador e ser alterado de acordo com um parâmetro, é só utilizar a sua imaginação, de acordo com a sua necessidade.

Outro aspecto interessante é o de que você também pode utilizar um ícone de arquivo executável, como por exemplo o Notepad.exe. Basta que coloque o caminho onde ele está no ambiente do Windows que o seu ícone será mostrado.

Tags: Bernardes, MS, Microsoft, MS Office, Automation, Automação, Aplicação, Application, Icon, ícone, image, change, DLL, API, SendMessage, LIB, USER32.DLLSHELL32.DLL




eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine