- 25 Ago 2021 às 23:28
#66544
Prezados, boa noite!
Estou começando no VBA e Macros do Excel, estou trabalhando em uma planilha com muitos dados que preciso reorganizar, vejam se podem me ajudar com um código que me ajude a fazer algo menos "na mão", mesmo que seja por etapas, tentarei ser breve:
- Coluna A tenho a variável animais
- Linha 1 tenho datas diárias
- os valores na matriz são pesos diários registrados de cada animal por dia
Desafio: preciso montar uma nova planilha com 3 colunas, sendo A=Brinco; B=Data; C=peso. Minha dificuldade é que são muitos animais e muitos dias, consequentemente, muitos pesos. Segue um exemplo na imagem e a planilha anexa que contém a base original e também a aba de exemplo representada na imagem.
Basicamente a macro gravada segue abaixo, mas sei que está errada, pois só executa um pedaço. Podem me ajudar? Um abraço.
Sub Macro7()
'
' Macro7 Macro
'
'
Range("B4:B6").Select
Selection.Copy
Range("K4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C4:C6").Select
Application.CutCopyMode = False
Selection.Copy
Range("K7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Range("J4:J6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C3").Select
Application.CutCopyMode = False
Selection.Copy
Range("J7:J9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A4").Select
Application.CutCopyMode = False
Selection.Copy
Range("I4:I5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A5").Select
Application.CutCopyMode = False
Selection.Copy
Range("I6:I7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A6").Select
Application.CutCopyMode = False
Selection.Copy
Range("I8:I9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Estou começando no VBA e Macros do Excel, estou trabalhando em uma planilha com muitos dados que preciso reorganizar, vejam se podem me ajudar com um código que me ajude a fazer algo menos "na mão", mesmo que seja por etapas, tentarei ser breve:
- Coluna A tenho a variável animais
- Linha 1 tenho datas diárias
- os valores na matriz são pesos diários registrados de cada animal por dia
Desafio: preciso montar uma nova planilha com 3 colunas, sendo A=Brinco; B=Data; C=peso. Minha dificuldade é que são muitos animais e muitos dias, consequentemente, muitos pesos. Segue um exemplo na imagem e a planilha anexa que contém a base original e também a aba de exemplo representada na imagem.
Basicamente a macro gravada segue abaixo, mas sei que está errada, pois só executa um pedaço. Podem me ajudar? Um abraço.
Sub Macro7()
'
' Macro7 Macro
'
'
Range("B4:B6").Select
Selection.Copy
Range("K4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C4:C6").Select
Application.CutCopyMode = False
Selection.Copy
Range("K7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B3").Select
Application.CutCopyMode = False
Selection.Copy
Range("J4:J6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C3").Select
Application.CutCopyMode = False
Selection.Copy
Range("J7:J9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A4").Select
Application.CutCopyMode = False
Selection.Copy
Range("I4:I5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A5").Select
Application.CutCopyMode = False
Selection.Copy
Range("I6:I7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A6").Select
Application.CutCopyMode = False
Selection.Copy
Range("I8:I9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Você não está autorizado a ver ou baixar esse anexo.