[英]Excel Macro for copying specific rows
我有一個龐大的電子表格,大約有300001行和20列。 第一列A是0到3的數字重復,步長為0.001(3001個單元格,總共100次重復)。 我想選擇對應於列A項3的ROWS,將它們轉置並將其寫入新表。 我該怎么做呢? 完全不熟悉宏和VBA,但我熟悉編程(主要是C ++)。
謝謝!
您實際上並不需要宏來執行類似的操作-但同樣,這似乎更像是您在為娛樂而正在做的事情,而不是為實用做的事情。
您可以按范圍A從高到低對您的范圍“ A1:T300001”進行排序,然后復制並粘貼前一百行。
但是,如果您想要執行此操作的宏,那么它應該對您有用:
Sub MacroAutofilterExample()
ActiveSheet.Range("$A$1:$T$300001").AutoFilter Field:=1, Criteria1:="3.000"
Range("A1:T300001").Select
Selection.Copy
Sheets(2).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Sheets("Sheet1").Select
Range("A1").Select
Selection.AutoFilter
Range("A1").Select
End Sub
顯然,使用選擇會損失一些效率(因為我記錄了其中的一部分),但是您可以將其更改為使用設置范圍-通常,這應該會給您一個想法。
編輯:
您將更改字段:
Transpose:=False
在上面的代碼中:
Transpose:=True
如果您想要結果轉置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.