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.

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


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


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

VBA Excel - Contando células selecionadas.

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


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

VBA Excel - Fechando o MS Excel - Close MS Excel

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 = False
Activeworkbook.close ([VBYes])  ' Fecha o Workbook e salva as mudanças efetuadas. 
Application.DisplayAlerts = True 


Fonte: Experts-Exchange


Tags: Excel, close, quit


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

VBA Excel - Fechando a planilha - Close workbook MS Excel

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.

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


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

diHITT - Notícias