Usando o vba para criar um mapa de planilha

Você já tentou fazer sentido de um desconhecido (e complicado) livro do Excel? Seria útil para ver um mapa que fornece uma visão geral do que as pilhas contêm constantes e que as células contêm valores.

Video: COMO IMPORTAR PLANILHAS DO EXCEL NO GOOGLE MAPS

Você pode criar um utilitário VBA que gera um mapa da planilha ativa. O mapa é gerado em uma nova planilha, e consiste de células com códigos de cores que permitem identificar rapidamente os valores, texto e fórmulas.

Abaixo, você vê um exemplo de tal mapa. As células que contêm texto são verdes, aqueles que contêm um valor numérico são amarelas, e as células que contêm fórmulas são vermelhos. Tal mapa pode ajudar a detectar possíveis erros. Por exemplo, se uma fórmula em um bloco de fórmulas foi substituído por um valor, que a célula vai ficar fora na visualização do mapa (como em Q11 célula no exemplo).

Video: Aula Mapa Interativo com VBA (Parte 2/2)

O código QuickMap VBA

O procedimento VBA que gera o mapa planilha está listado abaixo. Se você gostaria de usar este utilitário, basta copiar o código e cole-a um módulo VBA. Em seguida, ativar uma planilha e executar a sub-rotina QuickMap.



Sub QuickMap () FormulaCells Dim TextCells VariantDim Como NumberCells VariantDim como a área VariantDim Como RangeIf TypeName (ActiveSheet) lt; gt; “Planilha” Then Exit Sub` Criar variáveis ​​de objeto para celular subsetsOn Error Resume NextSet FormulaCells = Range ( ‘A1’). SpecialCells _ (xlFormulas, xlNumbers + xlTextValues ​​+ xlLogical) Definir TextCells = Range ( ‘A1’). SpecialCells (xlConstants, xlTextValues) Definir NumberCells = Range ( “A1”). SpecialCells (xlConstants, xlNumbers) on Error GoTo 0` Adicionar uma nova folha e formato itSheets.AddWith Cells.ColumnWidth = 2.Font.Size = 8.HorizontalAlignment = xlCenterEnd WithApplication.ScreenUpdating = False `Faça a fórmula cellsIf Not IsEmpty (FormulaCells) ThenFor cada área FormulaCells.AreasWith ActiveSheet.Range (Area.Address) .Value = ‘F’ .Interior.ColorIndex = 3End WithNext AreaEnd Se` Faça o texto cellsIf Not IsEmpty ( TextCells) ThenFor cada área TextCells.AreasWith ActiveSheet.Range (Area.Address) .Value = “T” .Interior.ColorIndex = 4End WithNext AreaEnd Se` Faça o numérico cellsIf Not IsEmpty (NumberCells) ThenFor cada área NumberCells.AreasWith ActiveSheet .Range (Area.Addre ss) .Value = “N” .Interior.ColorIndex = 6End WithNext AreaEnd IfEnd Sub

Como funciona

O primeiro procedimento verifica se a planilha ativa é uma planilha. Se não for, há uma saída rápida com nenhuma outra ação. Quando a folha activa é uma folha de cálculo, o processo cria três variáveis ​​de objecto, utilizando o SpecialCells método para identificar os vários tipos de células. o SpecialCells método é muito útil. Se você não está familiarizado com ele, verificá-la no arquivo de ajuda on-line do Excel. Observe o uso da On Error Resume Next. Isso é para evitar o erro que ocorre se há células qualificar - por exemplo, se a planilha não tem fórmulas.

Em seguida, o procedimento adiciona uma nova planilha, reduz a largura da célula, e define o alinhamento horizontal para o centro. Este passo é cosmético. O sub seguida, desativa a atualização da tela para acelerar as coisas um pouco.

As próximas três blocos de código processo as células. Se não há células qualificar, a variável de objecto está vazio, de modo que os testes para este sub. Em seguida, os laços de rotina através de cada área no objeto Range e formata a célula. Você pode facilmente personalizar esta parte da sub-rotina para aplicar formatação diferente.

Confira o Poder Utility Pak add-in para uma versão muito mais sofisticada deste utilitário.


Publicações relacionadas