Views

Important:

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

...

30 de novembro de 2012

Os 10 mandamentos do gerenciamento de projetos

Inline image 1



Texto originalmente escrito por James Kerr, em inglês, tradução livre.

Os 10 mandamentos do gerenciamento de projetos

I - Estreitarás teus escopos. Nada é pior do que um projeto interminável. Ele pode sugar todos os recursos e esgotar até mesmo a equipe mais motivada. Para manter os projetos firmes e orientados, concentre seus maiores esforços em projetos menores, que tenham entregas ("deliverables") alcançáveis e que possam cumprir seus prazos. A longo prazo, uma série de vitórias pequenas tem mais impacto sobre a organização do que uma gigantesca orquestra sinfônica que nunca chega a tocar.

II - Não tolerarás equipes inchadas. Uma boa maneira de começar com o pé direito é garantir que a equipe do projeto terá o tamanho certo. Equipes maiores são mais difíceis de motivar e administrar, e as personalidades podem ficar no meio do caminho, atrapalhando o trabalho. Não existe um tamanho ideal para a equipe, mas uma boa regra empírica é ter uma pessoa para cada papel e um papel para cada pessoa. Se alguns integrantes tiverem que desempenhar mais de um papel, tudo bem - se você for errar o dimensionamento, erre a favor de uma equipe menor.

III - Exigirás dedicação de todas as áreas envolvidas. Se a área de TI aceitar um prazo apertado, mas parte dos documentos de projeto precisar ser aprovado pelas demais áreas da organização, e elas não estiverem comprometidas da mesma forma, o projeto acaba virando uma gincana. Se as áreas de negócio aceitam um prazo apertado, mas dependem de um aplicativo a ser desenvolvido pela área de TI, que não está comprometida da mesma forma, o projeto também acaba virando uma gincana. O gerente de projeto deve se posicionar de forma a que todas as áreas diretamente envolvidas no sucesso do projeto estejam comprometidas, e disponíveis na medida da necessidade, desde o princípio.

IV - Estabelecerás um comitê para analisar o andamento. O comitê de acompanhamento, qualquer que seja seu título oficial, é o corpo diretivo do projeto. Ao mesmo tempo em que lida com questões relacionadas às políticas e estratégias da empresa, ele pode e deve remover as lombadas e obstáculos do caminho do projeto. Um arranjo típico envolve reuniões quinzenais das áreas de gerência intermediária envolvidas no projeto, para analisar seu andamento e verificar como se envolver das formas descritas acima.

V - Não consumirás tua equipe. O 'burnout', ou esgotamento físico e mental dos membros da equipe, causado pelo stress e esforço das atividades, não é incomum. Fique atento às necessidades das pessoas e evite este efeito que reduz a efetividade da equipe - não planeje de forma que o envolvimento das pessoas vá exigir sacrifícios incomuns e continuados. Em particular, evite o efeito do envolvimento serial: o popular efeito "sempre os mesmos" - pessoas que se destacam por resolver bem os problemas que recebem, e assim acabam sendo envolvidos em mais projetos do que seria racional, gerando stress para elas, e disputa de recursos para os projetos.

VI - Buscarás apoio externo quando necessário. Adotar consultores em gerenciamento de projetos é uma forma de prevenir o esgotamento. Além de aumentar as equipes, os especialistas externos muitas vezes podem trazer valiosas novas idéias, perspectivas e energias. É essencial trazer o profissional certo no momento certo: especialistas nos aspectos técnicos e de mercado não são a mesma coisa que especialistas em gerenciamento de projetos. Considere as características do projeto e da equipe antes de definir o tipo de apoio externo necessário.

VII - Darás poder às tuas equipes. Equipes de projeto que já estejam se esforçando para cumprir seus escopos e prazos não precisam ter preocupações adicionais com questões formais como o preenchimento de formulários de registro de atividades para seus departamentos, ou participação em reuniões periódicas de seu órgão de origem. Ao invés disso, eles devem ter o poder discricionário de dedicar-se às atividades essenciais e que agregam valor ao projeto, e a estrutura deve se esforçar para adaptar-se a estas condições. Mas é importante que os membros da equipe correspondam a esta confiança, saibam claramente o que se espera deles e de que forma devem usar sua iniciativa.

VIII - Usarás ferramentas de gerenciamento de projetos. Tarefas mundanas de gerenciamento de projetos podem ser automatizadas. Procure ferramentas que ofereçam acompanhamento do andamento, gerenciamento de tarefas, gerenciamento do fluxo de trabalho e análise de recursos, e que funcionam em uma plataforma de Intranet que promova o compartilhamento e a comunicação. Mas lembre-se de que usar tecnologias que acrescentem uma camada extra de complexidade a um projeto já desafiador por si pode não ser uma boa idéia.

IX - Reconhecerás o sucesso. Todos os participantes do projeto devem ser reconhecidos de forma positiva pelo esforço que praticaram. As recompensas não precisam ser extravagantes. É fundamental que a origem real do reconhecimento - seja a Presidência, a direção da filial regional, o principal patrocinador do projeto ou o seu gerente - fique clara para todos, e que se manifeste de forma tão individual e personalizada quanto possível.

X - Não tolerarás gambiarras. Políticas sólidas de gerenciamento de projetos devem eliminar antecipadamente a tentação de recorrer a alternativas rápidas e rasteiras, que só levam a erros, desperdício, retrabalho e frustração.

Estes são os mandamentos da gestão de projetos segundo James Kerr. Que tal aproveitar para incluir nos comentários alguns mandamentos adicionais que você aprendeu em sua própria experiência ou que sejam adotados em sua organização?


Tags: gerenciamento, projeto, 10, dez, James Kerr,

23 de novembro de 2012

VBA Tips - Usando Collection para gerenciar Grupos de Objetos e Coleções - Use the Collection Collection to Manage Groups of Objects and Collections


O Collection oferece uma maneira conveniente para se referir a um grupo de objetos e coleções como um único objeto. 

Importante: Os objetos e coleções no Collection não tem que ser do mesmo tipo de dados.

Para adicionar itens a um Collection, use o método Add, que tem o seguinte formato:

Add (Item, Key, Before, After)

Onde:

Item é o objeto ou collection que deseja adicionar à coleção.

Key é um argumento opcional que especifica um nome de chave única para este item.

Before e After são argumentos opcionais que especificam onde deseja adicionar o item na coleção.

O código de exemplo a seguir demonstra como usar a coleção coleções. Para mais informações, consulte o "coleção de objetos" na Ajuda VBA.

' Módulo da Classe (clsTest.cls).

Public FirstName As String
Public LastName As String



' Código do módulo (modTest.bas).

Public Sub TestCollections()

    ' Objetivo: Demonstrar o uso de coleções com o Collection.

    Dim colNames As New Collection
    Dim iItem As Integer
    Dim vItem As Variant

    On Error GoTo TestCollections_Err

    Do
        ' Create an object to add to the collection.
        Dim clsTest_Item As New clsTest

        ' Configura as propriedades da collection.
        Let clsTest_Item.FirstName = InputBox(Prompt:="Primeiro nome?")
        Let clsTest_Item.LastName = InputBox(Prompt:="Último nome?")

        ' Adicionando um objeto ao Collection.
        If clsTest_Item.FirstName <> "" And clsTest_Item.LastName <> "" Then
            colNames.Add _
                Item:= clsTest_Item, _
                Key:= clsTest_Item.FirstName & clsTest_Item.LastName
        Else
            ' Lista o conteúdo do collection.
            For Each vItem In colNames
                MsgBox vItem.FirstName & " " & vItem.LastName
            Next vItem

            Exit Do
        End If

        Set clsTest_Item = Nothing

    Loop

TestCollections_End:
    Exit Sub

TestCollections_Err:
    Select Case Err.Number
        Case 457    ' Duplicate key name.
            MsgBox "Você não pode duplicar o primeiro e o último par de nomes. " & _
                "Tente novamente."
        End Select

    Resume TestCollections_End

End Sub

Tags: VBA, Tips, Collection, Manage, Groups, Object, grupos, objetos, coleção, gerenciar

VBA Tips - Use Caixas de Mensagens melhores com botões e ícones adicionais - Enhance Message Boxes with additional Buttons and Icons


A função MsgBox contém um argumento opcional, Buttons, que nos permite colocar botões adicionais, além de ícones nas nossas caixas de mensagens, especificando um valor VbMsgBoxStyle

Para obter uma lista de valores VbMsgBoxStyle, consulte o Object Browser VBA.

Aqui está um exemplo de como colocar botões adicionais e ícones nas suas caixas de mensagens:

Public Sub CustomMessageBoxes()

    ' Purpose: Demonstrates how to work with custom message boxes.

    Dim iResponse As Integer
    
    MsgBox Prompt:="Abort/Retry/Ignore (Ignore Default)", _
        Buttons:=vbAbortRetryIgnore + vbDefaultButton3

    MsgBox Prompt:="Critical", Buttons:=vbCritical

    MsgBox Prompt:="Exclamation", Buttons:=vbExclamation

    MsgBox Prompt:="Information", Buttons:=vbInformation

    MsgBox Prompt:="OK/Cancel", Buttons:=vbOKCancel

    MsgBox Prompt:="Question", Buttons:=vbQuestion

    MsgBox Prompt:="Retry/Cancel", Buttons:=vbRetryCancel

    MsgBox Prompt:="Yes/No", Buttons:=vbYesNo

    MsgBox Prompt:="Yes/No with Information", _
        Buttons:=vbYesNo + vbInformation

    MsgBox Prompt:="Yes/No with Critical and Help", _
        Buttons:=vbYesNo + vbCritical + vbMsgBoxHelpButton

    ' Determina cada botão selecionado pelo usuário.
    Let iResponse = MsgBox(Prompt:="Click Yes or No.", _
        Buttons:=vbYesNo + vbCritical)

    Select Case iResponse
        Case vbYes
            MsgBox Prompt:="You clicked Yes."
        Case vbNo
            MsgBox Prompt:="You clicked No."
    End Select

End Sub


Tags: VBA, Tips, enhance, message, boxes, additional, buttons, Icons, caixa de mensagens, ícones, botões, VBA Object Browser, VbMsgBoxStyle, VbMsgBoxStyle

VBA Tips - Usando InputBox como caixa de entrada - Use the InputBox Function to Work with User Input


A função InputBox é ideal quando precisamos ter uma única entrada de dados para o usuário em tempo de execução, sem a necessidade de se construir um Formulário (UserForm). 

A função InputBox tem este formato:

InputBox (Prompt, Title, Default, XPos, YPos, HelpFile, Context)

Onde:

Prompt é o texto que o usuário verá.

Title é um argumento opcional que representa o texto da barra de título da caixa de entrada.

Default é um argumento opcional que representa qualquer texto existente na caixa de entrada de texto.

XPos e YPos são argumentos opcionais que representam a posição horizontal e vertical da caixa de entrada no monitor.

HelpFileContext são argumentos opcionais mostrando o arquivo de ajuda, além da identificação de contexto usado para propiciar a ligação da ajuda sensível ao contexto (F1) com a caixa de entrada.

Aqui está um exemplo de como usar a função InputBox:

Public Sub TestInputBoxFunction()
    
    Dim strFirstName As String
    Dim strLastName As String
    
    ' Obtém o primeiro e o último nome.
    Let strFirstName = InputBox(Prompt:="Digite o 1º Nome.", _
        Title:="Demo: Nome Completo")

    Let strLastName = InputBox(Prompt:="Digite o seu Sobrenome.", _
        Title:="Demo: Nome Completo") 
    
    If strFirstName = "" Or strLastName = "" Then
        MsgBox Prompt:="Hei, você não digitou a informação requerida."
    Else
        MsgBox Prompt:="Você digitou " & strFirstName & " " & _
            strLastName & ".", Title:="Demo: Nome Completo"
    End If

End Sub

Tags: VBA, Tips,  inputbox, function, input, user, userform, form, formulário, 

22 de novembro de 2012

VBA Excel - Barra de Status Informativa - Info Status Bar




Podemos aumentar  a quantidade de visualizações sobre o que estamos fazendo, colocando detalhes na nossa Barra de Status do MS Excel. Chamaremos este exemplo de INFO STATUS BAR.

Antes de continuar, um pequeno parênteses, deixe seus comentários para este post.  

Como sempre fazemos, é bom lembrar que este exemplo de código serve para que possamos ampliar a nossa visão sobre como utilizar outras informações muito mais úteis do que estas na Barra de Status, fica o exemplo!

Ahhh, e faremos passo a passo para incluir os iniciantes.

Início
Já percebeu que ao selecionarmos um range de células, não conseguimos observar o range selecionado na  
'Name Box'? (Veja abaixo)


Tampouco, observamos este Range na Barra de Status.


PASSO 01
Com o intuito de inserirmos um código que possa demonstrar o que selecionamos, vá para o VBE (pressione Alt + F11), e então dê umduplo clique em 'EstaPasta_de_trabalho(ou 'ThisWorbook' se a sua versão do MS Office estiver em inglês).



PASSO 02
Ao lado direito, na área do editor, copie e cole o código abaixo:

Private Sub Workbook_SheetSelectionChange
(ByVal Sh As Object, ByVal Target As Range)
    ' Author                        Contact                        Place
    ' André Luiz Bernardes          bernardess@gmail.com          http://inanyplace.blogspot.com/
    ' Mostra as células que foram marcadas na barra de status.
    
    Dim cCell As Variant, i As Range
  
    For Each i In Selection.Areas
        Let cCell = cCell + CDec(i.Rows.Count) * i.Columns.Count
    Next

    Let Application.StatusBar = Replace(Selection.Address(0, 0) & " selecionadas (" & cCell & Left(" Célula(s)", 11 + (cCell = 1)) & ")", ",", ", ")
End Sub


PASSO 03
Agora quando selecionar qualquer parte da planilha, sempre observará algo similar a isso:


Muito bem, o exemplo acabou aqui. Mas lembre-se, este foi apenas uma aplicabilidade para a utilização da Barra de Status. Colocarei outras aplicações abaixo para que continue se exercitando:

Exemplo 01
Se você, no código VBA, desligou a atualização da tela, e seus códigos levarem algum tempo para processar, o usuário pode pensar que o computador parou de responder. Por isso, uma boa regra de programação é informar ao usuário sobre a evolução do processamento, exibindo [no mínimo] uma mensagem na Barra de Status na parte inferior da tela.

Sub StatusBarSample()
    Let Application.ScreenUpdating = False 
    ' Desliga a atualização da tela.
    
    ' Certifica-se de que a Barra de Status estará funcional.
    Let Application.DisplayStatusBar = True    
    Let Application.StatusBar = "Por favor, aguarde a execução da 1ª Parte..."

    ' No ponto abaixo, algum código é adicionado para o processamento.
    Application.Wait Now + TimeValue("00:00:02")
    Let Application.StatusBar = "Aguarde a execução da 2ª Parte..."
    
    ' Adicione algum código para o processamento da 2ª Fase.
    Application.Wait Now + TimeValue("00:00:02")
    Let Application.StatusBar = False 
End Sub

Exemplo 02
Você tem um processo que leva algum tempo para ser executado. Talvez uns 30 segundos, talvez 10 minutos. De qualquer forma você quer que o usuário saiba que a macro está sendo executado e em que parte do processe está:

Sub StatusBar()
    ' Author                        Contact                        Place
    ' André Luiz Bernardes          bernardess@gmail.com           http://inanyplace.blogspot.com/
    ' Efetua um contador.
         
    Dim x               As Integer
    Dim MyTimer         As Double
     
    Let Application.StatusBar = True
    
    ' Adapte este loop se for necessário.
    For x = 1 To 250
        Let MyTimer = Timer
        
        Do
        Loop While Timer - MyTimer < 0.03
         
        Application.StatusBar = "Progresso: " & x & " de 250: " & Format(x / 250, "Percent")
        
        DoEvents
    Next x
     
    Let Application.StatusBar = False
End Sub

Tags: Barra de Status, Bernardes, Excel, information, iniciantes, Microsoft, MS, Office, range, select, Status, Status Bar, VBA





VBA Excel - Excluir linhas em branco logo ao abrir a Planilha - Removing Blank Rows Automatically



Sim pessoal. sempre perguntam como deletar linhas em branco da planilha, assim que esta for aberta. Segue um código, simples, honesto, rápido e limpinho:

Private Sub Worksheet_Change (ByVal Target As Range)
'Deleta todas as linhas que estiverem em branco que existirem.  
'Previne loops infinitos  Let Application.EnableEvents = False   
'Caso haja mais de uma célula selecionada. 

If Target.Cells.Count > 1 Then
GoTo SelectionCode  
If WorksheetFunction.CountA(Target.EntireRow) = 0 Then 
Target.EntireRow.Delete 
End If  

Let Application.EnableEvents = True  
Exit Sub  

SelectionCode: 
If WorksheetFunction.CountA(Selection.EntireRow) = 0 Then 
Selection.EntireRow.Delete 
End If  

Let Application.EnableEvents = True
End Sub

Tags: VBA, Excel, deletar, apagar, excluir, rows, blank, lines, linha, range, removing, EntireRow, automatically, delete




15 de novembro de 2012

100.000 VISITAS - CEM MIL VISITAS

+ de Inline image 3


MIL VISITAS:


O Blog Blog Office VBA, neste ano de 2012, tinha por objetivo, além da postagem regular de pelo menos 30 artigos/mês, completar o número de visitações 100.000 até Dezembro de 2012.


Gostaria de agradecer a todos que têm vindo até aqui vez após vez, em busca de experiências com o VBA - Visual Basic for Applications, e também àqueles que por questões de desenvolvimento pessoal, profissional, aprimoramento técnico e aprofundamento teórico, voltaram em busca de algumas novas dicas. 

Um dos objetivos deste Blog é compartilhar experiências e informações práticas de modo descontraído. Por isso preciso agradecer a todos que têm compreendido tal proposta, contatando-me via e-mail sempre com um incentivo, elogio, e sugestões de sites e artigos legais.

A todos vocês, muito obrigado!

Nós da Inline image 4 A&A - In Any Place, estamos muito felizes por termos a excelente marca de 100 MIL visitações, melhorando nestes últimos meses, a qualidade e o aprofundamento dos nossos posts. Percebemos o enorme impacto positivo e o retorno incrível daqueles que cooperam e contribuem constantemente nos incentivando.

Abaixo estamos divulgando parcialmente os nossos números de visitação nestes últimos 2 meses:






Queremos informar também que estaremos abertos a colocação de pequenos anúncios, através de banners promocionais junto aos nossos posts.



9 de novembro de 2012

Tips - 13 Dicas para se Falar em Público

Inline image 2

Que tal absorver algumas dicas ?

Não posso falar por todos nós, mas quando domino um assunto, fica mais fácil falar sobre ele. E isso inclui dominar um pouco de conhecimento sobre algumas técnicas de COMO e O QUE falar.

Sente algum nervosismo antes de dar um discurso, fazer uma palestra, ou ministrar um curso?




Isso é natural e até benéfico, mas o nervosismo em excesso pode ser prejudicial. Seguem algumas dicas comprovadas sobre como controlar aquele friozinho na barriga e proferirmos melhores apresentações:

01 - Domine o seu conteúdo. Escolha um tema sobre o qual mantém constante interesse em estar atualizado e inclua tal novidades na sua apresentação.  


02 - Prática. Prática. Prática! Ensaie em voz alta com todos os equipamentos que planeja usar: um esboço, materiais de apoio, cartazes, canetas de luz, etc...


03 - Revise, se necessário. Não engesse demasiadamente escolhendo palavras que usará para preencher o tema que escolheu. Não prenda-se a decorar palavra por palavra. Antes, fixe-se nas ideias - As palavras para explicá-las virão naturalmente.


04 - Pausa Prática, e respire. Pratique com um cronômetro e dê tempo para o inesperado. Planeje quanto tempo levará para explanar sobre cada ideia que comporá os seus tópicos. Lembre-se que todos os tópicos precisam estar em harmonia com o título/tema do assunto sobre o qual escolheu falar.


05 - Conheça a platéia. Sim, dê boas vindas a alguns dos membros da audiência assim que chegarem. É mais fácil falar com um grupo de conhecidos do que falar a completos estranhos. 


06 - Familiarize-se com o local. Chegue cedo, caminhe ao redor da área onde ficará. Se possível teste o sistema sonoro, instale quaisquer recursos visuais sem pressa. Localize-se quanto ao tamanho, porta de entrada, saídas de emergência, etc...


07 - Relaxe. Comece abordando o público. Isso permite-lhe ajustar-se ao tempo e lhe acalma os nervos. Antes de começar a falar qualquer coisa:

Sorria

Pause, conte até três mentalmente antes de dizer qualquer coisa. 

Converta essa energia do nervosismo em entusiasmo. 


08 - Visualize-se dando o seu discurso. Imagine-se falando. A emissão da sua voz sendo alta, clara e confiante. Visualize-se no término da sua apresentação sob as palmas do público - isso  aumentará a sua confiança. 


09 - As pessoas querem que você tenha sucesso. O público deseja que o conteúdo do que falará seja interessante, estimulante, informativo e divertido. Estão torcendo por você!


10 - Não peça desculpas por qualquer nervosismo ou problema - o público provavelmente nunca o percebeu. 


11 - Concentre-se na mensagem -. Mantenha o foco longe das suas próprias ansiedades, concentre-se nas ideias a serem transmitidas e no seu público. 


12 - Adquira experiência - A experiência constrói a confiança, que é a chave para se falar com eficiência. 

13 - Lance mão do humor, histórias pessoais e linguagem coloquial - desse modo não esquecerá facilmente o que dizer.

Espero que possam usufruir dessas importantes dicas!


Tags: Tips, Dicas, truques, falar, discurso, palestra,

eBooks VBA na AMAZOM.com.br

Vitrine