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
#70127
Caros, boa noite!

Gostaria da ajuda de vocês para otimizar uma atividade.

Mensalmente tenho que atualizar esse relatório, porém o sistema me dá ele incompleto, daí preciso adicionar colunas com fórmulas pro usuário preencher os dados. É um situação simples, porém repetitiva e que demanda muito tempo. Tentei uma solução pela gravação de macro, porém como o relatório aumenta e muda as posições das linhas diariamente, ficou inviável. Alguém tem alguma ideia ou sugestão pra me dar? Vou anexar o relatório.

Desde já agradeço vocês.
Você não está autorizado a ver ou baixar esse anexo.
#70128
Olá, @Suenne .

Por favor confirme se entendi corretamente.

1. Tanto em Quantidades como em Valores, o Campo Consumido dá lugar ao Campo Estimado, é isso?

2. O Campo Valor Unitário será inserido pela macro, é isso?

3. Há uma linha vazia separando cada Insumo. Você quer manter essas linhas no resultado?

4. Estão coloridas as células dos Campos Estimado, colunas F, I e L. Você quer igual no resultado?

5. Fórmulas a serem inseridas pela macro para cada Insumo: duas na coluna I, uma na coluna J e uma na coluna K, é isso?

6. Você quer manter as fórmulas ou podemos colocar o resultado direto ?
#70134
Bom dia @osvaldomp !

Obrigada pelo retorno. É o seguinte:

1. Tanto em Quantidades como em Valores, o Campo Consumido dá lugar ao Campo Estimado, é isso?
Eu campo consumido vem do relatório com dados, eu sempre limpo e substituo o nome para estimado, na quantidade estimada ela coloca manual, já o valor estimado é a multiplicação da quantidade estimada pelo valor unitário.

2. O Campo Valor Unitário será inserido pela macro, é isso?
Isso, todas as 3 informações do valor unitário será pela macro.

3. Há uma linha vazia separando cada Insumo. Você quer manter essas linhas no resultado?
Gostaria, pra melhorar o layout do relatório

4. Estão coloridas as células dos Campos Estimado, colunas F, I e L. Você quer igual no resultado?
Sim.

5. Fórmulas a serem inseridas pela macro para cada Insumo: duas na coluna I, uma na coluna J e uma na coluna K, é isso?
Sim.
6. Você quer manter as fórmulas ou podemos colocar o resultado direto ?
Gostaria de manter as fórmulas.
#70153
Veja se o resultado ficou satisfatório. Retorne se quiser alterar/ajustar algo.

Código: Selecionar todos
Sub RearranjaDados()
 Dim k As Long, LR As Long
  Application.ScreenUpdating = False
  Sheets("Relatório original").Copy After:=Sheets(Sheets.Count)
  ActiveWindow.DisplayGridlines = False
  With ActiveSheet
   .UsedRange.UnMerge
   .Range("B:B,D:D,I:I").Delete
   .Cells.WrapText = False
   .Columns(1).HorizontalAlignment = xlLeft
   .Columns(1).AutoFit
   .Columns(2).ColumnWidth = 15.11
   .Rows("1:14").Borders.LineStyle = xlNone
   LR = .Cells(Rows.Count, 1).End(3).Row
   .Rows(LR).Delete
   .Range("G15:I" & LR + 1).Copy [J15]
   For k = 19 To .Cells(Rows.Count, 1).End(3).Row + 1 Step 6
    .Cells(k, 1).Resize(, 12).Interior.Color = 14281213
    Union(.Range("F16").Resize(LR - 18), .Range("I16").Resize(LR - 18), .Range("L16").Resize(LR - 18)).Replace "Consumido", "Estimado"
    .Range("J15").Resize(LR - 18).Replace "Valores", "Valor Unitário"
    .Range("F15").Resize(LR - 18).Replace 0, ""
    Union(.Cells(k - 3, 6).Resize(2), .Cells(k - 3, 9).Resize(2), .Cells(k - 3, 12).Resize(2)).Interior.Color = 12040422
    Union(.Cells(k - 4, 4).Resize(, 3), .Cells(k - 4, 7).Resize(, 3), .Cells(k - 4, 10).Resize(, 3)).HorizontalAlignment = xlCenterAcrossSelection
    .Cells(k - 2, 9).FormulaR1C1 = "=RC[-3]*RC[3]"
    .Cells(k - 1, 9).FormulaR1C1 = "=SUM(R[-1]C)"
    .Cells(k - 2, 10).FormulaR1C1 = "=IFERROR(RC[-3]/RC[-6],0)"
    .Cells(k - 2, 11).FormulaR1C1 = "=IFERROR(RC[-3]/RC[-6],0)"
    .Rows("1:" & LR).RowHeight = 11
   Next k
  End With
End Sub

#70155
Oi, @Suenne .
Primeiro, você testou o código que passei no arquivo que você disponibilizou aqui no fórum?
O resultado foi o desejado?
#
Suenne escreveu: Eu apliquei ele aqui no meu relatório, que tem 5.000 linhas, a partir de determinada linha ele perde a configuração e coloca as fórmulas em posições erradas.
Possivelmente "a partir de determinada linha" o lay out dessa planilha com 5.000 linhas está diferente do lay out da planilha que você disponibilizou.

O que pode ser?
Precisamos ver a planilha para encontrar o problema.
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