簡體   English   中英

Excel Macro用於復制特定行

[英]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.

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