电竞比分网-中国电竞赛事及体育赛事平台

分享

vba分組

 Excel實(shí)用知識(shí) 2023-02-28 發(fā)布于廣東

問(wèn)題描述

我有一個(gè)包含標(biāo)題行的工作表,我想使用VBA對(duì)行進(jìn)行分組。 我已經(jīng)嘗試過(guò)這種語(yǔ)法

Sub GroupItTogether()
  Dim rLastCell As Range
  Set rLastCell = ActiveSheet.Cells.Find(What:="*", After:=.Cells(1, 1),  _   
    LookIn:=xlFormulas, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
  Range("A2" & rLastCell).Select
  Selection.Rows.Group
  ActiveSheet.Outline.ShowLevels RowLevels:=1
End Sub

但是,這將產(chǎn)生以下錯(cuò)誤:

參考無(wú)效或不合格

突出顯示代碼行: After:=.Cells(1, 1)

我該怎么做才能用VBA對(duì)所有行進(jìn)行分組(沒(méi)有標(biāo)題)?

編輯

對(duì)于每個(gè)注釋?zhuān)覍⒄Z(yǔ)法編輯為以下內(nèi)容,從而消除了該錯(cuò)誤,但這并未將所有行分組(不包括標(biāo)題)。 如何將其更新為按使用范圍分組?

  Sub GroupItTogether()
  Dim rLastCell As Range
  Set rLastCell = ActiveSheet.Cells.Find(What:="*", After:=Cells(1, 1), _    
    LookIn:=xlFormulas, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
  Range("A2" & rLastCell).Select
  Selection.Rows.Group
  ActiveSheet.Outline.ShowLevels RowLevels:=1
End Sub

1 條回復(fù)

1樓
 Shai Rado  1 已采納  2016-11-18 13:26:55

您無(wú)需使用SelectSelection 。 一旦你找到的范圍rLastCell ,你可以從你的范圍內(nèi)讀取的最后一行財(cái)產(chǎn)rLastCell.Row ,然后只需將它們分組。

Option Explicit

Sub GroupItTogether()

Dim rLastCell As Range

Set rLastCell = ActiveSheet.Cells.Find(What:="*", After:=Cells(1, 1), _
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)

Range("A2:A" & rLastCell.Row).Rows.Group
ActiveSheet.Outline.ShowLevels RowLevels:=1

End Sub

注意 :您可以使用以下命令獲取列A中包含數(shù)據(jù)的最后一行:

lastrow = Cells(Rows.Count, "A").End(xlUp).Row

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多