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.
Meni
.: Vitrine
Views
VBA - Retornando a versão corrente de qualquer aplicação Office.
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
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
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
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
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com