Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于名称清除excel单元格的内容_Excel_Excel 2010_Vba - Fatal编程技术网

基于名称清除excel单元格的内容

基于名称清除excel单元格的内容,excel,excel-2010,vba,Excel,Excel 2010,Vba,我想制作一个宏,可以根据名称删除多个单元格的内容。例如,我有一张表,其中有sheet1name1和sheet2name2,在另一张表中,我使用了sheet2name1和sheet2name2。可以编写宏吗?如果单元格名为“sheetname”,将删除哪些单元格的内容?星星应该指向数字 Sub RemNamedRanges() Dim nm As Name On Error Resume Next For Each nm In ActiveW

我想制作一个宏,可以根据名称删除多个单元格的内容。例如,我有一张表,其中有sheet1name1和sheet2name2,在另一张表中,我使用了sheet2name1和sheet2name2。可以编写宏吗?如果单元格名为“sheetname”,将删除哪些单元格的内容?星星应该指向数字

Sub RemNamedRanges() 
    Dim nm              As Name 
    On Error Resume Next 
    For Each nm In ActiveWorkbook.Names 
        nm.Delete 
    Next 
    On Error Goto 0 
End Sub 

这是要删除全部,但我只需要一些我前面提到的特定内容。

这将为您指明正确的方向。更改
If
语句以匹配您需要的内容(不确定您是在查找
Sheet1
,还是在工作簿中查找工作表名称)。是否在工作簿中循环

Sub RemNamedRanges()
Dim nm      As Name
On Error Resume Next
For Each nm In ActiveWorkbook.Names
    If nm.Name = ActiveSheet.Name Then
        Range(nm).ClearContents
    End If
Next
On Error GoTo 0
End Sub

InStr
应该能够确定字符串中是否有子字符串

For Each nm In ActiveWorkbook.Names 
    if cbool(instr(1, nm.name, "name", vbtextcompare)) then _
        nm.Delete 
Next 

这应该是
范围(nm.name).ClearContents
?@Jeeped-它对我来说可以正常工作,但对
范围(nm.name)也可以正常工作。
。哦,那就按一下键。我认为您可能没有将name对象转换为字符串。