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.
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.
Outros artigos interessantes
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.