簡體   English   中英

Excel 2016 VBA宏清除單元格范圍,然后將數據插入空白單元格

[英]excel 2016 VBA macro to clear cell ranges, then insert data in blank cells

我的宏的目的是重置我的工作表。

我的宏首先在幾個不同的單元格范圍內進行clearcontents分配。

接下來,我想用0填充其中一些單元格

我發現了一條建議,將其=“ ON”更改為=“ 0”

相交(選擇,范圍(“ D7:R23”))=“ 0”

我得到以下內容

運行時錯誤“ 91”

未設置對象變量或帶塊變量

知道我在做什么錯嗎?

代碼如下:

Sub Clearcells()

Range("D2:Z2").ClearContents

Range("D3:AG3").ClearContents

Range("D4:AG4").ClearContents

Range("AE2:AG2").ClearContents

Range("C7:R23").ClearContents

Range("W7:Y23").ClearContents

Range("AC7:AF23").ClearContents

Range("B27:AG43").ClearContents

Intersect(Selection, Range("D7:R23")) = "0"

Intersect(Selection, Range("W7:Y23")) = "0"

Intersect(Selection, Range("AC7:AF23")) = "0"

End Sub

此錯誤意味着沒有Select “編輯細胞落入D7:R23范圍。 這兩個范圍是完全不相交的。 例如:

在此處輸入圖片說明

在上面的示例中,我在運行代碼行之前Select了塊A1:B5

嘗試這個; 您嘗試做一個簡單的清除,然后將它們寫入空單元格; 您不需要使用Intersect,並且可以組合所有范圍來縮短代碼。

Range("D2:Z2, D3:AG3, D4:AG4, AE2:AG2, C7:R23, W7:Y23, AC7:AF23, B27:AG43").ClearContents
Range("D7:R23, W7:Y23, AC7:AF23") = "0"

我不知道如何清除然后插入,因此此代碼僅將所有單元格替換為0值。 最終這就是我想要做的。

Sub Clearcells()    
Range("D2:Z2").ClearContents    
Range("D3:AG3").ClearContents    
Range("D4:AG4").ClearContents    
Range("AE2:AG2").ClearContents    
Range("B27:AG43").ClearContents    
Range("C7:C23").ClearContents    
Range("D7:R23") = "0"    
Range("W7:Y23") = "0"    
Range("AC7:AF23") = "0"    
End Sub

暫無
暫無

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

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