我正在尝试制作一个宏,它会提示用户输入一个单元格范围,然后删除工作表中的所有其他内容(包括颜色,边框等)。用户输入的单元格范围必须与之前相同,其他所有内容应与空白表格相同。
我最初尝试过类似的东西,但不知道如何完成它。希望你能帮帮我。
Public Sub Removeformulas()
'Prompt user to select cell range to keep
Set rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8)
rngrows = rng.Rows.Count
rngcols = rng.Columns.Count
For i = 1 To rngrows
For j = 1 To rngcols
celltocopy = Cells(i, j)
Next j
Next i
End Sub
答案 0 :(得分:0)
试试这个:
Sub Clean()
Application.DisplayAlerts = False
Rng = InputBox("input range, format A1:B5")
Range(Rng).Copy
oldname = ActiveSheet.Name
Sheets.Add.Name = "Test"
'Range(Rng).PasteSpecial xlPasteAll
With Range(Rng)
.Cells(1).PasteSpecial xlPasteColumnWidths
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).Select
Application.CutCopyMode = False
End With
Sheets(oldname).Delete
Sheets("Test").Name = oldname
Application.DisplayAlerts = True
End Sub
它将创建一个名为“Test”的新工作表并将值粘贴到那里,然后删除旧工作表并将“Test”重命名为旧工作表被调用的任何内容。