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

VBA - Retornando a versão corrente de qualquer aplicação Office.

Recurso rápido, simples e oportuno em épocas de troca de versão. Pode ser usado inclusive dentro do código para adaptar chamadas, abrir bases de dados, etc...

Tags: Bernardes, MS, Microsoft VBA, Scripting Languages, Microsoft Office, Office, Software/Web Development, Web Development, Office Suites, Software

Muitos de nós desenvolvedores desenvolvemos em ambientes onde estão diversas versões do MS Office. Em tal ambiente saber identificar qual versão rodará nossa aplicação é imprescindível. Não necessariamente teremos a mesma solução (código) em versões distintas.

Felizmente temos como, através do próprio VBA, identificar qual a versão de software que está sendo executada. A SUB abaixo retorna o número da versão num message box:

Sub LetVersion()
  MsgBox "O número da versão corrente é: " & Application.Version, _

    vbOKOnly, "Version"
End Sub

Você pode adequar a SUB para retornar o número da versão:

Function LetVersion() As Long
  Let LetVersion = Application.Version
End Function


André Luiz Bernardes
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com

Twitter: @officespecialis
            @brzexceldevelop
            @brzaccessdevel

VBA Excel - Referenciando planilha 10 - Propriedade name do código da planilha.

10: Referenciando através da propriedade NAME do código da planilhas


O nome do código que se refere a um objeto de planilha, na guia da planilha corre o risco de gerar um erro. 

Sempre precisa se lembrar de atualizar o código quando mudar o nome da pasta na planilha. 

Atente para o fato de que este não seja o único problema desse método, uma vez que os usuários são capazes de mudar o nome de uma pasta na planilha a qualquer momento. Uma maneira é proteger com código que se altere a pastas com outro nome específico. 

Esse nome é atribuido automaticamente pelo MS Excel - Folha1, Folha2 e assim por diante. Mudar o nome da pasta, conforme apresentado na guia da planilha, não alterará o seu nome de código, como poderá perceber na figura D. Os nomes entre parênteses são os nomes das pastas (como mostrado nas guias da planilha). Perceba que os nomes default, os nomes de código, permanecem os mesmos, mesmo se o nome da pasta.

Figure D

O nome de código é estável.

To change a sheet's code name, use the (Name) property, as shown in Figure E. You must use the Visual Basic Editor (VBE), as you can't change this property programmatically. There are two similar properties, so don't confuse them. The Name property (without parentheses) toward the bottom of the properties list represents the name Excel displays on the sheet tab. (Code name values must start with a letter character.)

Para mudar o nome de código, use a propriedade (Name), como mostrado na figura E. Você deve usar o Editor do Visual Basic (VBE). 


Existem duas propriedades semelhantes, por isso cuide em não confundi-las.

Figure E

Mude o nome de código utilizando o  VBE.

Veja também:
Tudo em VBA
VBA Excel
VBA Access

André Luiz Bernardes
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com

VBA Excel - Referenciando planilha 09 de 10 - Pelo índice

9: Referenciando pelo índice

Os valores dos índices vêm a calhar quando você não se importa com planilhas específicas, mas apenas com o seu número ou ordem. Certamente, isso não será uma tarefa comum, mas ocasionalmente, utilizar referência aos valores de índice pode ser providencial. O procedimento a seguir adiciona e deleta as planilhas com base no número de Sheets que deseja:

Function ControlSheetNumber(intSheets As Integer)

  
  'Add or delete sheets to equal intSheets.

  Application.DisplayAlerts = False

  'Delete sheets if necessary

  While Worksheets.Count > intSheets

    Worksheets(1).Delete

  Wend

  'Add sheets if necessary

  While Worksheets.Count < intSheets

    Worksheets.Add

  Wend

  Application.DisplayAlerts = True

End Function

Tenha cuidado ao executar esta função, pois deleta a primeira planilha objeto da sua coleção, mesmo que a planilha tenha conteúdo. Simplesmente adiciona e deleta planilhas, dependendo do valor que passemos. Esta função é útil quando criar novas planilhas (workbooks)  programaticamente.


Veja também:
Tudo em VBA
VBA Excel
VBA Access

André Luiz Bernardes
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com


VBA Excel - Referenciando planilha 08 de 10 - Explicita à planilha

8: Explícita à planilha

Use a propriedade Worksheets para explicitar a referência a uma planilha. Por examplo, use o código abaixo para efetuar uma referência para deletar uma planilha expedífica:

Function DeleteSheet(shtname As String)

  'Delete shtname.

  Application.DisplayAlerts = False

  Worksheets(shtname).Delete

  Application.DisplayAlerts = True

End Function


Veja também:
Tudo em VBA
VBA Excel
VBA Access

André Luiz Bernardes
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com

VBA Excel - Referenciando planilha 07 de 10 - Referenciando o objeto Worksheet

7: Referenciando o objeto Worksheet

A coleção (collection) Worksheets contém todos os objetos planilhas (sheet) do workbook.

Utilizando um simples loop  For Each, podemos circular através da coleção (collection).

Por exemplo, o código a seguir popula um list box com os nomes de todas as planilhas (Sheets) ativas em um workbook:

Private Sub UserForm_Activate()
  'Popular o list box com os nomes das sheets
  'ativas no workbook.

  Dim ws As Worksheet

  For Each ws In Worksheets
    ws.Select

    ListBox1.AddItem ws.Name
  Next ws
End Sub

As coleções (collections) Sheets e Worksheets  possuem inicialmente objetos Worksheet, mas as coleções (collections) Sheets contém worksheets e chart sheets (planlhas gráficos).

Veja também:
Tudo em VBA
VBA Excel
VBA Access

André Luiz Bernardes
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com
diHITT - Notícias