/ / Como faço para remover data e colocá-lo em uma coluna usando o Excel VBA - excel, excel-vba, vba

Como faço para remover data e colocá-lo em uma coluna usando o Excel VBA - excel, excel-vba, vba

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 № 1

Aqui está o que eu tenho para você baseado na pequena informação. Eu criei um modelo para você e é assim que parece.insira a descrição da imagem aqui

Você terá que abas é executar o programa eo outro é onde você coloca "re dados em. insira a descrição da imagem aqui

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á. insira a descrição da imagem aqui

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