Ich habe also einen Datenexport, der in der folgenden Form ausgegeben wird (Daten bleiben einen Monat lang bestehen):
9/1/2014
Team Quantity
Tom 1
Jim 2
9/2/2014
Team Quantity
Tom 1
Jim 2
Ich muss das Datum manuell von oben entfernenjeder Zeile und setzen Sie es in eine Spalte, so dass ich eine Pivot-Tabelle daraus erstellen kann. Gibt es einen VBA-Code, der das Datum aus der obersten Zeile in eine Spalte wie die folgende schreiben könnte:
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...
Das einzige Problem ist, dass die Anzahl der Leitungen, die einem Team zugeordnet werden können, monatlich variiert. Irgendwelche Vorschläge?
Antworten:
0 für die Antwort № 1Hier ist, was ich für Sie basierend auf den kleinen Informationen habe. Ich habe dir eine Vorlage erstellt und so sieht es aus.
Sie müssen die Tabulatoren aktivieren, um das Programm auszuführen, und die andere ist, wo Sie Ihre Daten eingeben.
Wenn Sie sich also die Daten ansehen, die ich eingegeben habe, muss ich nur den Run-Knopf drücken und so sieht es aus.
Hier ist also der Code für die Schaltfläche "Ausführen".
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
Und hier ist die Vorlage mit allem, was bereits fertig ist. Alles, was Sie tun müssen, ist, die Daten in die Registerkarte "Daten" zu laden und den Lauf zu starten. http://speedy.sh/twvt3/Template.xlsm