Então eu tenho uma exportação de dados que sai da seguinte forma (as datas continuam por um mês):
9/1/2014
Team Quantity
Tom 1
Jim 2
9/2/2014
Team Quantity
Tom 1
Jim 2
Eu tenho que remover manualmente a data do topode cada linha e colocá-lo em uma coluna para que eu possa criar uma tabela dinâmica a partir dele. Existe algum código VBA que poderia tirar a data da linha superior e colocá-la em uma coluna como esta:
Team Quantity Date
Tom 1 9/1/2014
Jim 2 9/1/2014 etc...
Team Quantity Date
Tom 1 9/2/2014
Jim 2 9/2/2014 etc...
O único problema é que o número de linhas que podem estar sob uma equipe é variável a cada mês. Alguma sugestão?
Respostas:
0 para resposta № 1Aqui está o que eu tenho para você baseado na pequena informação. Eu criei um modelo para você e é assim que parece.
Você terá que abas é executar o programa eo outro é onde você coloca "re dados em.
Então, se você der uma olhada nos dados que eu coloquei, tudo que eu teria que fazer seria apertar o botão de execução e é assim que ele será.
Então aqui está o código para o botão de execução.
Sub btnRun()
"declare variables
Dim ToBeFound, strVar1, strVar2 As String
Dim rng As Range
ToBeFound = "Team"
"Activate and selete sheet1 than select A1
Sheets("DataTab").Activate
Range("A1").Activate
For x = 1 To 1000
Set rng = Cells.Find(What:=ToBeFound, LookIn:=xlValues, lookat:=xlWhole)
If IIf(rng Is Nothing, "", rng) = "" Then
MsgBox "Complete"
Exit Sub
Else
rng.Activate
ActiveCell.Value = "Team:"
ActiveCell.Offset(0, 2).Value = "Date"
strVar1 = ActiveCell.Offset(-1, 0).Value
ActiveCell.Offset(-1, 0).EntireRow.Delete
For i = 1 To 100
ActiveCell.Offset(1, 0).Activate
If ActiveCell.Value = "" Then
Exit For
Else
ActiveCell.Offset(0, 2).Value = strVar1
End If
Next i
End If
Next x
End Sub
E aqui está o template com tudo já completo e feito tudo que você precisa é carregar os dados na aba de dados e executar o push. http://speedy.sh/twvt3/Template.xlsm