2017-04-24 146 views
0

當前正在運行的Excel 2013.我的電子表格最近成了一個表格,它有幾千行數據。在我按日期範圍進行過濾之前,刪除了某些行,並且我正在使用「查找」。選擇 - >轉到特殊 - >可見單元格僅用於選擇所有可見單元格,而不刪除已過濾的行。從表中刪除多行

顯然我不能刪除多行作爲表,有沒有辦法解決這個問題?該選項變灰,快捷鍵CTRL + - 不起作用,我試着按照前面的線程更改註冊表項。

我的悲劇命運是將信息複製到非表格中,編輯,複製回原來的格式並重新格式化爲表格?請告訴我,情況並非如此。

screen crop of the grayed out option after selecting 'visible cells only

+2

遍歷SpecialCells(xlCellsTypeVisible)和內環的領域,通過在每個區域的每一行。將行收集到一個聯合中,然後刪除聯合。 – Jeeped

+0

因此,無法在功能區/右鍵單擊中進行簡單的更改,它必須是VBA宏? 我不太熟悉SpecialCells和循環,也不太瞭解聯盟。會[這篇文章](http://stackoverflow.com/questions/10849177/easiest-way-to-loop-through-a-filtered-list-with-vba)幫助循環或我的方式基地? 我也添加了一張圖片來幫助縮小我想要做的事。 – SomethingDeepAndMeaningful

回答

1

嘗試:在屏幕左側的行號

  • 左擊選擇整行。之後,右鍵點擊行號會彈出一個菜單,您可以點擊刪除。
  • 按住ctrl或按住shift不放,同時點擊行號可以選擇多行。然後右鍵單擊任何行號並單擊刪除應刪除所有選定的行。
  • 排序表格可以使選擇多行變得更容易。
0

這將有助於

Private Sub imperecheaza_Click() { 
Dim ws As Worksheet 
    Dim Rand As Long 
    Set ws = Worksheets("BD_IR")  
    Rand = 3 
    Do While ws.Cells(Rand, 4).Value <> "" And Rand < 65000 
    If ws.Cells(Rand, 4).Value = gksluri.Value * 1 And ws.Cells(Rand, 5).Value = gksluri.List(gksluri.ListIndex, 1) * 1 Then 
    ws.Rows(Rand) = "" '(here you will delete entire Row) 
    gksluri.RemoveItem gksluri.ListIndex 
    Exit Do 
    End If 
    Rand = Rand + 1 
    Loop 
End Sub