簡體   English   中英

如何使用Excel VBA刪除日期並將其放置在列中

[英]How do I remove date and place it in a column using Excel VBA

因此,我導出了以下格式的數據(日期持續一個月):

9/1/2014  
Team        Quantity  
Tom            1  
Jim            2

9/2/2014  
Team        Quantity  
Tom            1  
Jim            2

我必須手動從每一行的頂部刪除日期並將其放在一列中,以便可以從中創建數據透視表。 是否有任何VBA代碼可以將日期從第一行起放在這樣的列中:

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...

唯一的問題是,一個團隊下的行數每月都是可變的。 有什么建議么?

這是我根據小信息為您准備的。 我已經為您創建了一個模板,這就是它的外觀。 在此處輸入圖片說明

您將不得不選擇運行該程序,而另一個則是放置數據的位置。 在此處輸入圖片說明

因此,如果您看一下我輸入的數據,只需按一下“運行”按鈕即可,結果將是這樣。 在此處輸入圖片說明

因此,這是運行按鈕的代碼。

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

這是模板,所有內容都已完成,您要做的所有事情就是將數據加載到“數據”標簽中並推送運行。 http://speedy.sh/twvt3/Template.xlsm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM