我想知道从表中清除行时如何保存单元格格式。我有一个包含许多列的表,每一列都有一个特定的公式或函数。我有一个通过清除所有旧行来刷新表的按钮。所以问题是,当我刷新时,我失去了所有的功能。
Public Sub refresh()
'
' refresh Macro
'
' Touche de raccourci du clavier: Ctrl+y
'
Dim ws1 As Worksheet, ws2 As Worksheet, lr1 As Long
Set ws1 = ThisWorkbook.Worksheets("Scénarios de menace")
Set ws2 = ThisWorkbook.Worksheets("Analyse de risque S")
ws2.Range("B6:AP" & ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row).Clear
lr1 = ws1.Cells(ws1.Rows.Count, 2).End(xlUp).Row
Application.ScreenUpdating = False
ws1.Range("A1:A" & lr1).AutoFilter Field:=1, Criteria1:="x"
ws1.Range("B2:AP" & lr1).SpecialCells(xlCellTypeVisible).Copy
ws2.Range("B6").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
ws1.Range("A6:A" & lr1).AutoFilter
ws2.Activate: ws2.Cells(1, 1).Activate
Application.ScreenUpdating = True
End Sub发布于 2015-08-18 18:55:56
Clear做它在盒子上所说的。它会清除对象。完成后,对象没有值,没有格式,也没有公式。
如果您想保留公式和格式,但保留行,则需要清除包含常量的单元格的内容,即不要清除整行。
您可能希望遍历行中的每个单元格,或者直接将它们作为目标并使用ClearContents。
不过,这似乎是在浪费空间。
在任何情况下,使用Excel表格和删除行可能更合适。因为在Excel表格中,任何新行都将自动继承公式和格式,因此您可以删除任何行,并将自动执行的新行添加到表格设置中。
https://stackoverflow.com/questions/32070185
复制相似问题