Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
#5409
Bom dia,

Estou com problema para rodar minha Macro e não sei o porquê.
Basicamente eu gostaria de comparar o texto entre duas células e, em caso de serem iguais, rodar uma série de mesclagens de células no mesmo conjunto de linha.
Segue o código criado:

Dim i As Integer

For i = 2 To i = 1000

If [Ai].Text = [A(i-1)].Text Then
Range("[A(i-1)]:[Ai]").Select
Selection.Merge
Range("[B(i-1)]:[Bi]").Select
Selection.Merge
Range("[C(i-1)]:[Ci]").Select
Selection.Merge
Range("[H(i-1)]:[Hi]").Select
Selection.Merge
Range("[I(i-1)]:[Ii]").Select
Selection.Merge
Range("[J(i-1)]:[Ji]").Select
Selection.Merge
Range("[K(i-1)]:[Ki]").Select
Selection.Merge
Range("[L(i-1)]:[Li]").Select
Selection.Merge
Range("[K(i-1)]:[Ki]").Select
Selection.Merge
Range("[M(i-1)]:[Mi]").Select
Selection.Merge
End If

Next



Obrigado pela ajuda desde já.

Att.

Rodrigo Signori
#5414
Boa tarde,

Cara, nunca vi essa forma de referência a um range, e testando aqui não consegui fazer funcionar; isso está certo?

Range("[A(i-1)]:[Ai]")

Em casos assim geralmente faço, Range("A" & i-1 & ":A" & i & "").

Além disso, vi uma falha no início; ao invés de For i = 2 To i = 1000, escreva, For i = 2 to 1000.

Se ainda assim não der certo, posta a planilha com os dados originais VS o que devem ser no final, que bolo algo e te mando.
#5422
Parkeless,

Obrigado pela resposta, mas ainda não deu!
Basicamente eu gostaria de que meu programa analisasse a tabela abaixo, por exemplo, e que as linhas repetidas fossem mescladas a fim de que eu obtivesse uma planilha sem repetições nesses campos (Vendas 122 e 128 ficariam com linhas mescladas).

122 II Gabriel II COOPERATIVA REG. AGROP. SANTA RITA DE CALDAS LTDA
122 II Gabriel II COOPERATIVA REG. AGROP. SANTA RITA DE CALDAS LTDA
123 II Luiz II PA PNEUS LTDA
124 II William II POUSO CAP LTDA
125 II William II USINAGEM SAO CARLOS LTDA - ME
126 II Otávio II CENTRO AUTOMOTIVO VAREJÃO
128 II Otávio II LUIZ ANTONIO DE ALMEIDA
128 II Otávio II LUIZ ANTONIO DE ALMEIDA
128 II Otávio II LUIZ ANTONIO DE ALMEIDA
130 II William II CLIMA MINAS LTDA - EPP


Eu acabei modificando o código de acordo com suas dicas e algumas coisas que vi na net e está, no momento, sem funcionar, assim:

Dim i As Integer
Dim k As Integer

i = 2
k = 1

For i = 2 To 1000

If ["A"&k].Text = ["A"&i].Text Then
Range(["A"&k] & ["A"&i]).Select
Selection.Merge
Range(["B"&k] & ["B"&i]).Select
Selection.Merge
Range(["C"&k] & ["C"&i]).Select
Selection.Merge
Range(["H"&k] & ["H"&i]).Select
Selection.Merge
Range(["I"&k] & ["I"&i]).Select
Selection.Merge
Range(["J"&k] & ["J"&i]).Select
Selection.Merge
Range(["K"&k] & ["K"&i]).Select
Selection.Merge
Range(["M"&k] & ["M"&i]).Select
Selection.Merge
Else
End If
i = i + 1
k = k + 1

Next



Obrigado!
#5425
Boa tarde!!

Eu não entendi, seria algo assim?
Código: Selecionar todos
Sub AleVBA_976()
    Dim lRow As Long
    lRow = Cells(Rows.Count, "C").End(xlUp).Row
    Application.DisplayAlerts = False
    For I = lRow To 2 Step -1
        If Cells(I, 1) = Cells(I - 1, 1) Then
            Range(Cells(I, 1), Cells(I - 1, 1)).Merge
            Range(Cells(I, 2), Cells(I - 1, 2)).Merge
            Range(Cells(I, 3), Cells(I - 1, 3)).Merge
        End If
    Next I
    Application.DisplayAlerts = True
End Sub
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord