Pessoal, fiz uma macro que está funcionando bem, no entanto o arquivo está muito grande, pois utilizo este código (além de outros) em 45 planilhas. O que preciso é o seguinte: Que a macro verifique na COLUNA C a PARTIR da linha 2 (C2) até a linha 300 (C300) (ou até não achar mais nada). Em cada linha, se encontrar "#" (na coluna C) quero que formate as células do lado direito (ex: ao lado do C2, formatar, mesclar e centralizar D2+E2+F2+G2... e EM SEGUIDA, se tiver "#" na C3,, formatar, mesclar e centralizar D3+E3+F3+G3 e assim por diante...) e SE NÃO FOR igual a "#", que aplique a formatação inversa (desmesclar), pois é uma situação que muda semanalmente...
O código, eu fiz, porém fiz do meu jeito (DE GENTE LEIGA EM EXCEL rs rs rs). Gostaria que a galera que sabe um pouco mais, que me ajudasse a diminuir o tamanho da fórmula, pois para cada linha eu tenho que colocar o código todo e trocar o NÚMERO da linha. SÃO 300 LINHAS, galera... e 45 planilhas diferentes... rs rs...
Basicamente é essa a dúvida, se houver SOLUÇÃO, vai dar uma reduzida boa no tamanho do arquivo, pois vou aplicar em outras macros que formatam as duas primeiras e as duas ultimas apenas (D2+E2) (F2+G2) caso encontre "%" na mesma coluna C. As opções possíveis na coluna C são: "#", OU "%", OU "@". Ela é preenchida usando a função SENAODISP() com outras funções agregadas (SEERRO, PROCH, etc). (# mescla as 4 células, % mescla as 2 primeiras e as 2 últimas, e @ vai chamar outra função).
Tenho certeza que APESAR DA DÚVIDA COM TEXTO GRANDE, a resposta é simples PRA QUEM ENTENDE DO ASSUNTO... (que não é o meu caso...rs rs)
Segue o código que uso:
Sub Mescla_4_Centraliza()
Application.DisplayAlerts = False
' INÍCIO do Código para a linha 3
If Range("C3").Value = "#" Then
Range("D3:G3").Select
With Selection
.HorizontalAlignment = xlCenter
.MergeCells = True
End With
Else
Range("D3:G3").Select
With Selection
.HorizontalAlignment = xlCenter
.MergeCells = False
End With
End If
' FIM do Código para a linha 3
Application.DisplayAlerts = True
End Sub
Postado : 18/09/2016 10:22 am