Página 1 de 1
Mesclar no VBA
Enviado: 06 Dez 2021 às 22:06
por RicardoGuitt
Olá noa noite!
Gostaria de saber se é possivel mesclar linhas a partir de uma informação na coluna A então mesclar as linhas de A:G
Mantendo o texto centralizado, qual seria essa função no VBA?
Re: Mesclar no VBA
Enviado: 06 Dez 2021 às 23:24
por osvaldomp
RicardoGuitt escreveu: ↑06 Dez 2021 às 22:06
... então mesclar as linhas de A:G ~~~> mesclar A:G significa mesclar colunas e não mesclar linhas.
#
Mesclar células no Excel não é uma manobra bem-vinda ...
Segue um comando básico pois você não forneceu informações suficientes para a elaboração de uma solução.
Código: Selecionar todos If Range("A5").Value = "BozoNeverMore" Then
Range("A5:G5").Merge
Range("A5:G5").HorizontalAlignment = xlCenter
End If
#
Segue uma alternativa sem mesclar células.
Código: Selecionar todos If Range("A5").Value = "BozoNeverMore" Then
Range("A5:G5").HorizontalAlignment = xlCenterAcrossSelection
End If
Re: Mesclar no VBA
Enviado: 07 Dez 2021 às 01:51
por RicardoGuitt
osvaldomp, vou tentar deixar mais claro, o que eu preciso é que se em qualquer linha da coluna 1 (A) eu digitar um texto especifico então o texto fique centralizado entre as colunas A:G
Ex: Ricardo na linha 2 da coluna A
Então o nome Ricardo ficará centralizado na linha 2 de A2:G2
Se for na linha 5 a mesma coisa A5:G5.
Re: Mesclar no VBA
Enviado: 07 Dez 2021 às 09:02
por osvaldomp
Instale uma cópia de um dos códigos abaixo no módulo da planilha de interesse.
Para acessar o módulo clique com o direito na guia da planilha e escolha
Exibir Código.
opção1 - mesclar (não recomendável)
Código: Selecionar todosPrivate Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
If Target.Value = "Ricardo" Then
Cells(Target.Row, 1).Resize(, 7).Merge
Cells(Target.Row, 1).Resize(, 7).HorizontalAlignment = xlCenter
End If
End Sub
#
opção2 - sem mesclar porém com efeito visual semelhante
Código: Selecionar todosPrivate Sub Worksheet_Change(ByVal Target As Range)
If targe.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
If Target.Value = "Ricardo" Then Cells(Target.Row, 1).Resize(, 7).HorizontalAlignment = xlCenterAcrossSelection
End Sub
Re: Mesclar no VBA
Enviado: 07 Dez 2021 às 18:58
por RicardoGuitt
osvaldomp,
Eu não consegui, não funcionou...
Segue anexo a planilha em questão.
Onde estão os nomes é o que eu gostaria
de centralizar nas colunas e linhas.
Re: Mesclar no VBA
Enviado: 07 Dez 2021 às 20:43
por osvaldomp
RicardoGuitt escreveu: ↑07 Dez 2021 às 18:58
Eu não consegui, não funcionou...
osvaldomp escreveu:Instale uma cópia de um dos códigos abaixo no módulo da planilha de interesse.
Você precisa instalar um dos códigos. Lembra disso?
Re: Mesclar no VBA
Enviado: 08 Dez 2021 às 00:06
por RicardoGuitt
@osvaldomp
Sim eu lembro, instalei os dois e nada aconteceu...
Re: Mesclar no VBA
Enviado: 08 Dez 2021 às 08:05
por osvaldomp
Se nada aconteceu então você instalou em lugar errado.
No arquivo que você postou não encontrei nenhum deles instalado.

Re: Mesclar no VBA
Enviado: 08 Dez 2021 às 11:34
por RicardoGuitt
Eu estou começando com VBA muito recentemente, provavelmente foi isso… eu instalei a partir de um modulo
Na verdade em um deles deu erro 424 que eu não faço a mimima ideia de como resolver e em outra situação até funcionou mas sonente em uma inica linha e fazendo com a formula procv não funcionasse por completo…
E sim no arquivo que enviei não tem nenhum instalado, foi mais para mostrar o que eu quero, mas obrigado @osvaldomp vou continuar tentando.
Re: Mesclar no VBA
Enviado: 08 Dez 2021 às 13:18
por RicardoGuitt
@osvaldomp
Consegui dessa forma abaixo:
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
If Target.Value = "RICARDO" Then Cells(Target.Row, 1).Resize(, 7).HorizontalAlignment = xlCenterAcrossSelection
End Sub
Talvez ou com certeza a planilha não está com a macro dá melhor forma mas funcionou!
Segue anexo.
Re: Mesclar no VBA
Enviado: 08 Dez 2021 às 13:23
por RicardoGuitt
Muito Obrigado @osvaldomp
Re: Mesclar no VBA
Enviado: 08 Dez 2021 às 14:44
por osvaldomp
Olá,
@RicardoGuitt .
No caso de múltiplos nomes, ao invés de repetir as instruções para cada um dos nomes, é possível montar uma matriz com todos os nomes e colocar as instruções uma única vez. Veja abaixo.
Código: Selecionar todos Dim nomes As Variant
If Target.Column > 1 Then Exit Sub
nomes = Array("IRINEU", "LEON", "PAULO", "RICARDO", "STEPHANIE")
If Not IsError(Application.Match(Target.Value, nomes, 0)) Then
Cells(Target.Row, 1).Resize(, 7).HorizontalAlignment = xlCenterAcrossSelection
End If
Re: Mesclar no VBA
Enviado: 08 Dez 2021 às 17:26
por RicardoGuitt
Boa Tarde @osvaldomp
Ficou perfeito!
Você é Fera!!!
Muito Obrigado!