Como combinar células usando o Excel VBA

Mesclar células no Excel é útil quando você deseja combinar várias células em uma célula maior. Ele pode ser usado para título, organizar dados ou formatar a aparência da planilha.

Excel VBA é uma linguagem de programação usada para automatizar tarefas no Microsoft Excel. Uma tarefa que geralmente é feita no Excel é combinar células, para unir várias células em uma célula grande. A mesclagem de células pode ser útil para criar títulos, tabelas ou formatos de dados específicos.

Há várias maneiras de combinar células usando o Excel VBA, a saber:

  • Use a propriedade “Merge” do objeto “Range”.
  • Use o método “MergeCells” do objeto “Range”.
  • Use o método “MergeArea” do objeto “Range”.
  • Use o método “UnMerge” do objeto “Range” para unmerge cells.
vba
vba

Este artigo abordará esses métodos em detalhes, juntamente com exemplos de código e resultados. Também discutiremos algumas coisas a serem observadas ao mesclar células usando o Excel VBA.

Usando a propriedade “Merge” de um objeto “Range”

A propriedade “Merge” do objeto “Range” é usada para definir ou retornar um valor booleano, indicando se um intervalo de células é combinado ou não. Um valor de “True” significa que um intervalo de células é mesclado, enquanto um valor Falso significa que um intervalo de células não é mesclado.

Para mesclar células usando a propriedade “Merge”, podemos atribuir valores “True” a essas propriedades para o intervalo de células que queremos combinar. O exemplo de código a seguir mostra como mesclar células A1 a C3 usando a propriedade Merge.

Sub MergeCellsUsingMergeProperty()
 'Combining cells A1 to C3
 Range( “A1:C3” ). Merge = True
End Sub

Podemos ver que as células A1 a C3 foram mescladas em uma célula grande, e o valor da célula A1 permanece exibido no meio da célula mesclada.

Para desmesclar células usando a propriedade ing “Merge”, podemos atribuir um valor “False” a essa propriedade para o intervalo de células que queremos dividir. O exemplo de código a seguir mostra como desmesclar células A1 a C3 usando a propriedade “Merge”.

Sub UnMergeCellsUsingMergeProperty()
 'Unmerge cells A1 through C3
 Range( “A1:C3” ). Merge = False
End Sub

Podemos ver que as células A1 a C3 foram separadas em células individuais, e o valor da célula A1 permanece exibido na célula A1.

Usando o método “MergeCells” do objeto “Range”

O método “MergeCells” de objetos “Range” é usado para mesclar ou desmesclar intervalos de células selecionados. Esse método não tem argumentos e só funciona no intervalo de células selecionado pelo usuário.

Para mesclar células usando o método “MergeCells”, podemos selecionar o intervalo de células que queremos combinar e, em seguida, executar o método. O exemplo de código a seguir mostra como combinar células D1 a F3 usando o método “MergeCells”.

Sub MergeCellsUsingMergeCellsMethod()
 'Select cells D1 through F3
 Range( “D1:F3” ). Select
 'Merge selected cells
 Selection.MergeCells
End Sub

Podemos ver que as células D1 a F3 foram mescladas em uma célula grande, e o valor da célula D1 permanece exibido no meio da célula mesclada.

Para desmesclar células usando o método “MergeCells”, podemos selecionar o intervalo de células que queremos dividir e, em seguida, executar o método. O exemplo de código a seguir mostra como desmesclar células D1 a F3 usando o método “MergeCells”.

Sub UnMergeCellsUsingMergeCellsMethod()
 'Select cells D1 through F3
 Range( “D1:F3” ). Select
 'Unmerge selected cells
 Selection.MergeCells
End Sub

Podemos ver que as células D1 a F3 foram separadas em células individuais, e o valor da célula D1 permanece exibido na célula D1.

Usando o método “MergeArea” do objeto “Range”

O método “MergeArea” do objeto “Range” é usado para retornar um objeto “Range” que representa um intervalo de células mescladas contendo uma célula específica. Esse método não tem argumentos e só funciona em células que já estão combinadas com outras células.

Para mesclar células usando o método “MergeArea”, podemos usar a propriedade “Merge” ou o método “MergeCells” primeiro para combinar o intervalo desejado de células e, em seguida, usar o método “MergeArea” para fazer referência ao intervalo de células mescladas. O exemplo de código a seguir mostra como combinar células G1 a I3 usando a propriedade “Merge” e, em seguida, usar o método “MergeArea” para se referir a esse intervalo de células mescladas.

Sub MergeCellsUsingMergeAreaMethod()
 'Combining cells G1 to I3
 Range( “G1:I3” ). Merge = True
 'Refers to a range of merged cells containing G2 cells
 Range( “G2” ). MergeArea.Select
End Sub

Podemos ver que as células G1 a I3 foram mescladas em uma célula grande, e o valor da célula G1 permanece exibido no meio da célula mesclada. Também podemos ver que o intervalo de células mescladas foi selecionado pelo nosso código, usando o método “MergeArea” para se referir ao intervalo de células mescladas contendo a célula G2.

Para unmerge células usando o método “MergeArea”, podemos usar a propriedade “Merge” ou “MergeCells” método primeiro para desmesclar o intervalo desejado de células e, em seguida, usar o método “MergeArea” para se referir a esse intervalo de células individuais. O exemplo de código a seguir mostra como desmesclar células G1 a I3 usando a propriedade “Merge” e, em seguida, usar o método “MergeArea” para se referir a esse intervalo de células individuais.

Sub UnMergeCellsUsingMergeAreaMethod()
 'Unmerge cells G1 to I3
 Range( “G1:I3” ). Merge = False
 'Refers to the range of individual cells containing G2 cells
 Range( “G2” ). MergeArea.Select
End Sub

Podemos observar que as células G1 a I3 foram separadas em células individuais, e o valor da célula G1 permanece exibido na célula G1. Também podemos ver que o intervalo dessas células individuais foi selecionado pelo nosso código, usando o método MergeArea para se referir ao intervalo de células individuais contendo a célula G2.

Usando o método UnMerge de um objeto “Range”

O método “UnMerge” do objeto “Range” é usado para desmesclar todas as células mescladas em um intervalo de células. Esse método não tem argumentos e só funciona em intervalos de células que contêm pelo menos uma célula mesclada.

Para desmesclar células usando o método “UnMerge”, podemos executar o método para o intervalo de células que queremos dividir. O exemplo de código a seguir mostra como desmesclar todas as células mescladas em uma planilha ativa usando o método “UnMerge”.

Sub UnMergeCellsUsingUnMergeMethod()
 'Unmerge all merged cells in the active worksheet
 ActiveSheet.Cells.UnMerge
End Sub

Podemos ver que todas as células mescladas na planilha ativa foram separadas em células individuais, e os valores dessas células permanecem exibidos em seus locais originais.

Coisas a observar ao mesclar células usando o Excel VBA

Quando combinamos células usando o Excel VBA, há algumas coisas que precisamos prestar atenção, a saber:

  • Somente os valores da célula superior esquerda serão exibidos na célula mesclada. Os valores de outras células mescladas serão perdidos. Portanto, é melhor garantir que o valor que queremos exibir esteja na célula superior esquerda antes de mesclar células.
  • A mesclagem de células pode afetar o formato e o layout de nossos dados. Por exemplo, se combinarmos várias colunas, a largura da coluna será ajustada para a largura da coluna mais larga. Se combinarmos várias linhas, a altura da linha será ajustada para a altura da linha mais alta. Se combinarmos várias células contendo fórmulas, essas fórmulas serão excluídas e somente os valores resultantes serão exibidos. Portanto, devemos examinar o impacto da fusão de células em nossos dados antes de fazê-lo.
  • A mesclagem de células pode causar erros de referência se usarmos um intervalo de células mescladas como argumentos ou critérios em funções do Excel. Por exemplo, se usarmos a função “SUMIF” para somar os valores em um intervalo com base em um critério e o intervalo de critérios contiver células mescladas, o resultado será incorreto ou inválido. Portanto, é melhor evitar o uso de funções do Excel que dependem de referências de intervalo ao mesclar células.

Assim, o artigo sobre como combinar células usando o Excel VBA. Espero que este artigo seja útil e possa ajudá-lo a automatizar suas tarefas no Excel. Obrigado por ler este artigo até o final.

Últimos artigos