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.

...

28 de dezembro de 2012

VBA Excel Basic - Copiando um Range de Planilha para Planilha - Copy a range in an Excel sheet using vba




Sub Copy_Data()
Let Application.ScreenUpdating = False

Let Worksheets("Plan01").Range("B2:Y34").Value = ActiveSheet("Plan02").Range("B2:Y34").Value

Let Application.ScreenUpdating = True
End Sub

Outro modo de fazer a mesma coisa:

Sub Macro1()
  Range("B2:Y34").Select

  Selection.Copy

  Sheets("Sheet5").Select

  Range("B2").Select

  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,    SkipBlanks:=False, Transpose:=False
End Sub

Copiando uma coluna:

Sheets("Temp").Columns(1).Copy

Sheets("Overview").Range("C40").PasteSpecial



Tags: VBA, Excel, Range, Planilha, Copiar, Copy, 


22 de dezembro de 2012

Infográficos - Dashboard - Ford Fusion 2013





Como as cores influenciam as respostas emocionais

Calma, este não é um artigo sobre cromoterapia, antes um lançamento revelador feito pela Ford, que pode ajudar muito a nós desenvolvedores que desejamos entregar interfaces enxutas, produtivas e atraentes.


Será que os estudos sobre cores podem contribuir para o modo como desenvolvemos os nossosDashboards eletrônicos para análise de dados? 

Leia o artigo a seguir e opte se usará este conhecimento nas suas próximas soluções de desenvolvimentos para a apresentação de resultados.

É desafiador disponibilizar aos motoristas uma interface que:
  • Proporcione maior riqueza de informações.
  • Tenha um formato atraente.
  • Não confunda as informações ou, pior, distraia os condutores.

Gráficos complexos ou prazos de utilização de combustível foram ignorados em favor de alternativas mais iconográficas como por exemplo os medidores de combustível que são representados por uma imagem com um tanque cheio de um líquido amarelo.

[Fonte da imagem: Ford Motor Company]

Ford impulsiona a mudança para os LEDs

Iluminação da cabine é quase tão antiga quanto o próprio automóvel.

Na década de 1940 muitos carros já estavam ostentando luzes de abóbada (dome lights). Gradualmente, porta-luvas, e a iluminação do painel de instrumentos tornaram-se onipresentes, satisfazendo as necessidades básicas. Mesmo com outros componentes envolvidos, a iluminação ficou estagnada, incentivada pelas constantes falhas das lâmpadas incandescentes.

Mas isso está começando a mudar, as montadoras começaram a aplicar diodos emissores de luz (LEDs), tanto para as luzes exteriores (faróis de LED, luzes traseiras, luzes de freio, etc) como para a iluminação interior. 

Ford introduziu a iluminação LED em 2003 no modelo do ano Lincoln Navigator. Desde então vem lentamente acrescentando tecnologia aos seus veículos. O ápice do que a Ford chamou de um esforço de 8 anos é encontrado no Ford Fusion 2013, que é o primeiro veículo do mercado de massa da Ford a utilizar LEDs apenas no seu interior. O próximo Ford Fusion 2013 terá a utilização exclusiva de LEDs para a iluminação interior, com a cor padrão 'ice blue' (azul gelo).

"A iluminação evolui a partir das necessidades básicas de como entregar a melhor experiência, conforto e conveniência." diz Mahendra Dassanayake.

[Fonte da imagem: Ford Motor Company]

"Ice Blue" a cor Interior da Ford
O novo tom 'ice blue' (azul gelo) deve ajudar a melhorar a atenção do motorista, além de estar psicologicamente associada ao luxo, de acordo com a Ford. A Ford diz que a investigação tem mostrado que diferentes cores de luz ativam as diferentes partes do cérebro humano. Embora tais afirmações possam parecer um pouco nebulosas e preconceituosas, o Rensselaer Polytechnic Institute, em Nova York, em 2008, publicou uma pesquisa quantitativa que mostrou que fazer uma luz azul brilhar para motoristas sonolentos, ajuda a mantê-los acordados (e vivos), embora, na prática, escolher tons universalmente apreciados seja um assunto de muita reflexão e consideração. O Ford Fusion anterior tinha esse privilégio somente para nas luzes do acento, mas o Fusion novo estende a iluminação variável para a cabine em sua totalidade.
[Fonte da imagem: Ford Motor Company]

A tonalidade de iluminação dos paineis é capaz de interferir no comportamento do motorista, revelam os estudos feito pela Ford.

"Certos níveis e combinações de luz são capazes de afetar o comportamento e provocar respostas emocionais como estresse, calma ou felicidade", diz Mahendra Dassanayake, projetista da montadora.

Painel do Ford Fusion

[Fonte da imagem: Ford Motor Company]


Em pesquisas com usuários a Ford descobriu que os motoristas ficam obcecados por uma "nota alta" apresentada no painel do carro. Por isso desenvolveu-se uma interface que demonstra a maior eficiência no uso do combustível representado-a por uma atraente e ondulada folha de videira florescendo. E isso é mais do que um elemento decorativo, é uma ferramenta de visualização de dados destinado a mudar a maneira como as pessoas dirigem. Se um motorista desperdiçar gasolina, por agressivamente acelerar ou efetuar constantes freadas repentinas, as folhas de videira desaparecem. E somente aparecerão se os indivíduos dirigirem mais economicamente. 


Esta visualização dos dados no painel ( Dashboard ) será o padrão disponível em todos os híbridos do novoFord Fusion. Realmente temos muito o que aprender nas nossas interfaces para a demonstração de dados, não acham?

Propor um sumário de dados, através de um Dashboard, digamos muito artístico
[Sim, folhas de videira? Em um carro?], como a exibição de dados é bastante surpreendente. É este a ressurreição do conceito de visualização do ambiente?


O Painel do Ford Fusion atual tem a tonalidade azulada. Uma pesquisa mostrou que os tons deamarelo podem ajudar no discernimento e na tomada de decisões rápidas. O verde desacelera o batimento cardíaco, diminui a produção de hormônios do estresse e conduz a uma respiração mais lenta.


Já o vermelho, comum em carros esportivos, estimula emoções mais fortes, tanto para a paixão como para a raiva, enquanto o azul provoca uma sensação de alerta no cérebro.

Os tons celestes serão o novo padrão de iluminação adotado pela empresa, já usados no sedã Fusion e no utilitário Edge.


Ford olha para as respostas emocionais - começando com a ciência
A cor 'ice blue' (azul gelo) na iluminação ambiente utilizado no Ford Fusion é o que pode ajudar a manter os motoristas e passageiros mais alertas, tornando mais fácil para o condutor absorver todas as outras mensagens transmitidas pelo painel do veículo.

"O cérebro não vê a cor", diz Mahendra Dassanayake, "o que chamamos de cor da luz é realmente uma forma de energia eletromagnética com comprimentos de onda diferentes. A luz é como um lago, com ondulações com os comprimentos de onda. Estas ondulações formam, refletem e interagem umas com as outras, assim como quando um raio atinge uma superfície e envia um sinal e, em seguida, outro raio cai e envia outro sinal, e a sensação entre os dois é a de que as pessoas percebem como azul, vermelho ou verde."

"Certos níveis ou combinações de enzimas de desencadeamento de luz no cérebro provocam respostas emocionais dentro do corpo, como calma, stress, ou felicidade. As emoções são criadas com base nas secreções destas enzimas que estão associadas com os comprimentos de determinadas ondas de luz. Existem certos gatilhos, outras cores que fornecem reações diferentes. Por exemplo, alguns tons deamarelo estimulam o cérebro, trazendo lucidez e ação decisiva, enquanto verde afeta o sistema nervoso, levando as pessoas a respirar lenta e profundamente. E o vermelho, por sua vez, evoca emoções fortes, como paixão e raiva."


Ford Fusion terá uma paleta de sete cores,  o que permitirá aos clientes decidirem o que funciona melhor para eles. Os pesquisadores da Ford foram tão longe para testar a iluminação a ponto de relacionar como esta difere e afeta o interior do veículo a partir da perspectiva do motorista. Checaram texturas e materiais sob numerosas condições de iluminação para se certificar, por exemplo, de que os reflexos são limitados em superfícies lisas, e que o cansaço dos olhos seria minimizado.

A Ford diz que a cor pode mantê-lo alerta, tanto dentro como fora de seu veículo. Os pesquisadores em desenvolvimento de iluminação interior do novo Ford Fusion levaram em consideração o papel crítico que a iluminação desempenha na transmissão de informação ao motorista. Ao trabalhar a Iluminação com o design, criaram um equilíbrio que reduz o cansaço visual e otimiza a interação do condutor com o veículo. Estando as luzes acesas ou apagadas, o interior também fornece funcionalidade expandida e conforto ao condutor, com um layout alegre.
 
Os pesquisadores da Ford perceberam que a atenção de uma pessoa é limitada, e que a iluminação pode desempenhar um papel fundamental no fornecimento crítico de informações para o motorista, relacionadas a dirigibilidade, sem desviar-lhe a atenção.

"A iluminação dá um sentido de orientação", disse Dassanayake. "É uma combinação única de funcionalidade e conforto. Luzes, gráficos e displays produzem informações críticas para os motoristas, precisamos ter certeza de que a informação é apresentada ao cliente de forma eficaz".

O desenvolvimento da cor 'ice blue' (azul gelo) no ambiente era crítico, uma vez que pode ajudar a manter tanto o motorista quanto os passageiros mais alertas. Isto torna mais fácil para quem está no controle absorver todas as outras mensagens provenientes do interior do veículo.
 
Um interior para lembrar
"Comprar um carro é muito semelhante ao namoro", disse o Designer Chefe de Interiores Michael Arbaugh. "Você viu o exterior do Fusion novo, e foram atraídos para ele. Agora, quando você vê o interior, você percebe que é mais do que parece - quer estar em um relacionamento de longo prazo. Mantivemos o interior focado no motorista", sabíamos que nossos clientes seriam cativados pela experiência de condução, e nós quisemos dar-lhes um ambiente sofisticado e harmonioso."

Com tantas excelentes dicas sobre a construção de um ambiente, que tomemos posse delas para o desenvolvimento das nossas soluções em interfaces e Dashboards para os nossos clientes.



Tags: Infochart, Infographic, Infográfico, Dashboard, Ford, Fusion, Ford Fusion 2013, LED, Edge, cor, color, influência, Mahendra Dassanayake, Michael Arbaugh 

21 de dezembro de 2012

VBA Excel - Inserindo uma logomarca animada - Animating Your Company’s Logo in Excel




As Logomarcas são uma maneira fácil de adicionar um senso de profissionalismo ao trabalho que estamos entregando. 

Telas iniciais e logotipos são parte de cada produto de software que adquirimos e também devem ser parte integrante de cada aplicação que você fornecer ao seu Cliente. 

Agora, se o seu logo for animando...Isso será ainda mais divertido! 

Além de divertir os usuários, definirá o seu trabalho para além da média com um desenvolvedor de aplicações para o Excel.

Eu procuro usá-los quando a primeira pasta de trabalho é aberta (Passo-a-passo até para os iniciantes hein!):

- Abra uma pasta de trabalho em branco

- Renomeie a primeira guia "Dados"

- Esta será a planilha exibida quando o nosso workbook for aberto

- Agora, obtenha uma cópia animada do logotipo da sua empresa

  No site da sua empresa provavelmente tem um com o tamanho certo

- Cole-o na planilha de dados

- Precisamos de nomeá-lo "Logo"

- Selecione-o, e em seguida, use Alt-F11 para chegar ao Editor do Visual Basic

- Use Ctrl-R para abrir o Project Explorer

- Dê um duplo clique em "ThisWorkbook" (ou EstaPasta_de_trabalho) 
Isso traz à tona a janela de código da pasta de trabalho. 

- Essa rotina deve ser executada logo que o workbook for aberto, por isso vamos codificá-la em Workbook_Open

- Esta rotina ativavá a aba que renomeamos para "Data", e em seguida passa à nossa "Logo" para duas rotinas. 

- A primeira faz "crescer" a nossa logomarca. 

- A segunda faz girá-la uma vez.

Private Sub Workbook_Open()
 
    Worksheets("Dados").Activate
    ActiveSheet.Shapes("Logo").LockAspectRatio = False
    GrowShape ActiveSheet.Shapes("Logo"), 10
    SpinShape ActiveSheet.Shapes("Logo"), 10
           
End Sub



A rotina GrowShape expandirá qualquer shape à vista. Primeiro desligará atualização de tela. Isso nos permitirá fazer alterações nos bastidores e exibir os resultados quando estivermos prontos. 

Em seguida, a rotina GrowShape se lembrará das dimensões do shape. Em seguida, a rotina muda o tamanho do shape, exibe-o, congela a tela e faz loops até terminar. Antes de finalizar, a rotina GrowShape garante que o shape está exatamente como o encontramos.

A rotina SpinShape é quase idêntica. Congela a tela, lembra as dimensões originais do shape, em seguida, altera o tamanho do shape num circuito que simula-o girando em torno do seu eixo Y. Quando termina, a rotina SpinShape restaura o shape ao seu tamanho original.

Isso é tudo o que precisamos para animarmos um logotipo!

Function GrowShape (ByRef Shape As Shape, Step As Integer) As Boolean
'   Description:Expands a shape into view
'   Parameters: Shape       The shape to animate
'               Step        Larger #s animate faster
'   Example:    GrowShape ActiveSheet.Shapes("Logo"), 10
'   Note:       For best results, shape should be hidden before calling
'               this routine
'     Date   Init Modification
'   01/10/11 CWH  Initial Programming
    Dim lCenterX As Long    'Shape's center X coordinate
    Dim lCenterY As Long    'Shape's center Y coordiante
    Dim lWidth   As Long    'Shape's width
    Dim lHeight  As Long    'Shape's height
    Dim l        As Long    'Generic Counter for the loop
   
    Application.ScreenUpdating = False
   
    With Shape
       'Remember shape's original dimensions
        lCenterX = .Width / 2 + .Left
        lCenterY = .Height / 2 + .Top
        lWidth = .Width
        lHeight = .Height
       'Animation Loop
        For l = 0 To lWidth Step Step
            .Width = l
            .Height = l * lHeight / lWidth
            .Left = lCenterX - .Width / 2
            .Top = lCenterY - .Height / 2
            Shape.Visible = True
            Application.ScreenUpdating = True
            Application.ScreenUpdating = False
        Next l
       'Restore shape's original dimensions
        .Width = lWidth
        .Height = lHeight
        .Left = lCenterX - .Width / 2
        .Top = lCenterY - .Height / 2
    End With
   
    Application.ScreenUpdating = True
End Function
 
Function SpinShape (ByRef Shape As Shape, Step As Integer) As Boolean
'   Description:Expands a shape into view
'   Parameters: Shape       The shape to animate
'               Step        Larger #s animate faster
'                           Steps should divide 90 evenly
'   Example:    SpinShape ActiveSheet.Shapes("Logo"), 10
'     Date   Init Modification
'   01/10/11 CWH  Initial Programming
   
    Const Pi = 3.14159265358979
    Dim sng01 As Single     '1 Degree in Radians
        sng01 = Pi / 180
       
    Dim lCenterX As Long    'Shape's center X coordinate
    Dim lCenterY As Long    'Shape's center Y coordiante
    Dim lWidth   As Long    'Shape's width
    Dim lHeight  As Long    'Shape's height
    Dim l        As Long    'Generic Counter for the loop
   
    Application.ScreenUpdating = False
   
    With Shape
        .LockAspectRatio = False
       'Remember shape's original dimensions
        lCenterX = .Width / 2 + .Left
        lCenterY = .Height / 2 + .Top
        lWidth = .Width
        lHeight = .Height
       'Animation Loop
        For l = 0 To 360 Step Step
            .Width = lWidth * Abs(Cos(l * sng01))
            .Left = lCenterX - .Width / 2
            If l = 90 Or l = 270 Then .Flip msoFlipHorizontal
            Shape.Visible = True
            Application.ScreenUpdating = True
            Application.ScreenUpdating = False
        Next l
       'Restore shape's original dimensions
        .Width = lWidth
        .Height = lHeight
        .Left = lCenterX - .Width / 2
        .Top = lCenterY - .Height / 2
    End With
   
    Application.ScreenUpdating = True
End Function


Tags: VBA, Excel, development, Microsoft Excel, tutorial, logo, logomarca, animar, animated,


VBA Excel 2013 - Novidades para os desenvolvedores - What's new for Excel 2013 developers





Este artigo fornecerá uma visão das melhorias e adições para os desenvolvedores VBA no ambiente Microsoft Excel 2013. Também lhe fornecerá subsídios e referências que lhe permitirá começar a programação no Excel 2013.
 
Neste artigo:

Introdução
Aplicativos do Office no Excel
Novas funções de planilha
Análise rápida
Disponibilidade de novas fontes de dados
Usando o OM DataModel
Criando gráficos dinâmicos e tabelas dinâmicas independentes
Interface de documento único
Ativando e desativando animações programaticamente
Linha do Tempo
Conclusão
Recursos adicionais


Introdução
Certamente já desenvolve algumas aplicações personalizadas, e por isso está visitando este Blog. Poderá melhorar os recursos do Excel 2013 com o conhecimento dos recursos a seguir.

Aplicativos do Office no Excel
Microsoft Excel 2013 traz a web para o Excel

Todas as aplicações que viermos a desenvolver com o Office poderão oferecer uma ampla gama de soluções em um ambiente fácil de usar  para o desenvolvimento de aplicações web dinâmicas

Agora poderemos usar linguagens dinâmicas populares (como o PythonPHPPerl e JavaScript), além de ferramentas de desenvolvimento web (como o Microsoft Visual Studio) para desenvolvimento de aplicativos. 

Este desenvolvimento Web também permitirá que ampliemos o nosso contato com as diversas comunidades de desenvolvedores globais, e a disponibilidade de vários exemplos de código, estruturas e bibliotecas, que ampliam a aplicabilidade do aplicativo para diferentes cenários para os quais desejarmos desenvolver.

Poderemos criar dois tipos de Apps (aplicativos) para o Office no Excel:

Apps de conteúdo (Content apps) e 

Apps de Painel de tarefas (Task pane apps).

Content apps para o Office, integram características naturais da web (web-based), como o conteúdo que pode ser mostrado em linha com o documento. 

O Content apps para o Officepermitirá uma profusão de ricas integrações jamais usufruida nas versões anteriores:

Visualizações de dados na internet

Incorporação de cenários de mídia

Integração de um leitor de vídeo do YouTube ou uma galeria de fotos

E outras capacidades de conteúdo externo 

A Figura 1 mostra uma implementação de Content apps no Excel 2013.

Figura 1. App de conteúdo no Excel 2013


Um Task pane apps trabalhando lado a lado com um documento do Office, deixando que a app de desenvolvedores do Office forneça informação contextual e funcionalidades para melhorar a visualização de documentos e a experiência de criação. 

Por exemplo, um Task pane apps pode procurar e recuperar informações sobre um produto de um serviço web baseado no nome do produto ou o nº de parte dos usuários selecionados no documento.

Figura2. App do Painel de tarefa no Excel 2013



Novas funções de planilha
O Microsoft Excel 2013 acrescenta cerca de 50 novas funções de planilha para compatibilidade com o Open Document Format (ODF 1.2).

Agora poderemos usar funções de serviço web (na categoria de funções Web), para o acesso anônimo REST Web service. Notemos especialmente a função FILTERXML, que permite que usar expressões XPath para filtrar o XML retornado por uma chamada de função WEBSERVICE.

Análise rápida
A Análise rápida, como mostrado na Figura 3, é uma ferramenta nova na interface contextual que permite, através de um único clique, o acesso aos  recursos de análise dos dados, como: Fórmulas, Formatação condicional, Minigráficos, Tabelas, Gráficos e Tabelas dinâmicas. 

Poderá ativar e desativar a exibição deste recurso novo de análise programaticamente usando os métodos Show e Hide do objeto QuickAnalysis.

Figura 3. Ferramenta Quick Analysis



Disponibilidade de novas fontes de dados
Poderemos nos conectar a um conjunto de novas fontes de dados suportados por PowerPivot, incluindo: 

OData feeds

Azure

SharePoint Data Feeds e 

Provedores adicionais de OLE DB

Os novos objetos DataFeedConnection, ModelConnection, TextConnection, e WorksheetDataConnection contém os dados e funcionalidades necessárias para conectar a novas fontes de dados.

Usando o OM DataModel
Um novo modelo de objeto o DataModel (um complemento para o módulo modelo de objetos do Visual Basic for Applications) permite carregar e atualizar fontes de dados programaticamente. Esta extensão ao modelo introduzido PowerPivot no Excel 2010 permite integrar fontes de dados adicionais, além da capacidade de combinar dados de múltiplas fontes de dados programaticamente. Novos importantes objetos incluídos neste modelo são: ModelChanges, ModelRelationship e os objetos ModelTable.

Criado gráficos dinâmicos e tabelas dinâmicas independentes
Poderemos usar a dissociação de gráficos dinâmicos das tabelas dinâmicas no Excel 2013. Todos estes que estiverem baseados em um OLAP ou uma fonte de dados do PowerPivot poderão ser dissociados de tal forma que poderemos criar um gráfico dinâmico independente de qualquer tabela dinâmica, e navegaremos através dos dados sem quaisquer restrições, apenas utilizando a experiência de gráfico dinâmico. Isso vai de encontro ao paradigma atual, onde um gráfico dinâmico é criado tendo como companheira uma tabela dinâmica. Esta dissociação está representada tanto no Microsoft Excel 2013 Client, quanto no Services.

Interface de documento único
A mudança para uma interface de documento único (SDI - single-document interface) no Excel 2013 tem implicações na programação. O SDI significa que cada pasta terá sua janela de aplicativo própria no nível superior e terá o seu próprio menu ribbon correspondente. Todos os métodos existentes no nível de aplicação de janelas, eventos e propriedades não serão afetados por esta mudança. Todos os métodos existentes de pasta de trabalho de nível de janelas, eventos e propriedades operam agora na janela de nível superior para deste workbook.

Ativando e desativando animações programaticamente
A utilização da nova propriedade EnableMacroAnimations no objeto Application para alternar a exibição de animações nos ajudará enormemente. 

As animações são desabilitadas como padrão durante a execução de um código. Para ativar a animação adicionaremos Application.EnableMacroAnimations = True no início do código. 

Para permitirmos que o Excel mostre as animações durante a execução do código, faremos esta implementação para cada animação.

Linha do Tempo (Timeline)
MS Excel 2013 incluiu um novo controle de cronograma para filtrar os dados modelados.

A Linha do tempo oferece uma maneira visual para exibir e alterarmos um intervalo contíguo de datas e filtros para as pivôs baseados em objetos como tabelas dinâmicas e gráficos dinâmicos. 

Cronogramas relacionadas à segmentação de dados e estendem os membros do modelo de objeto relacionados a segmentação de dados existente. Além disso, dois novos objetos específicos do cronograma foram introduzidos: os objetos TimelineState e TimelineViewState.

Conclusão
O Excel 2013 fornece uma infinidade de novos recursos para os desenvolvedores. Aplicativos do Office oferecem uma oportunidade interessante para os desenvolvedores integrar recursos baseados na web com o Excel 2013, seja como conteúdo que pode ser mostrado de acordo com a planilha, ou lado a lado com a planilha. 

Outros novos recursos que ampliam o modelo de objeto VBA Excel 2013 incluem:

Quick Analysis (análise rápida), 

Timeline (a linha do tempo), 

DataModel OM (novo OM DataModel), 

New data sources (a disponibilidade de novas fontes de dados), 

Capacidade para criar gráficos dinâmicos e tabelas dinâmicas independentemente uns dos outros. (PivotCharts e PivotTables independentes)

 Além disso, existem novas funções de worksheet (planilha) e a capacidade de usar as web service functions (funções de serviço da Web) para acessar anonimamente REST web services.


Recursos adicionais


Reference: MSDN

Tags: VBA, Excel, Excel 2013, apps, Content apps, Task pane apps, ,REST, Web service. FILTERXML, XPath, XML, WEBSERVICE, QuickAnalysis, Quick, Analysis, DataFeedConnection, ModelConnection, TextConnection, worksheetDataConnection, ModelChanges, ModelRelationship, ModelTable, powerpivot, SDI, single-document interface,


eBooks VBA na AMAZOM.com.br

Vitrine