Vba 如何清除合并单元格的内容
我试图从单元格中清除内容,但其中一些单元格被合并,因此我得到了错误 1004:“我们不能对合并的单元格执行此操作” 再次尝试使用Vba 如何清除合并单元格的内容,vba,excel,Vba,Excel,我试图从单元格中清除内容,但其中一些单元格被合并,因此我得到了错误 1004:“我们不能对合并的单元格执行此操作” 再次尝试使用.Cells仍然返回错误 For l = 4 To 9 If ws.Cells(j, l).Interior.ColorIndex = 19 Then ws.Cells(j, l).ClearContents 'Error here End If Next l 试用 ws.Range(j,l
.Cells
仍然返回错误
For l = 4 To 9
If ws.Cells(j, l).Interior.ColorIndex = 19 Then
ws.Cells(j, l).ClearContents 'Error here
End If
Next l
试用
ws.Range(j,l).Clearcontents
您需要
单元格
而不是范围
:
ws.Cells(j, l).ClearContents
Oops-忘记合并位:
If Cells(j, l).MergeCells Then
Cells(j, l).MergeArea.ClearContents
Else
Cells(j, l).ClearContents
End If
还有一件事,您可以创建宏并使用快捷键(ctrl+m),以便选择要合并和清除的单元格。下面是代码:
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+m
'
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
If .MergeCells = True Then
.MergeCells = False
Else
.MergeCells = True
End If
End With
End Sub
试一试
为我工作。如果工作表名称。范围(“单元格编号”)。则合并单元格
工作表名称.范围(“单元号”).MergeArea.ClearContents
其他的
图纸名称。范围(“单元号”)。ClearContents
如果我有相同的问题,并且可以按照以下说明解决,则结束:
ws.Range("D10:F1000") = vbNullString
更改范围并使其适应您的问题。它支持在范围区域中合并单元格。请尝试
Range("A1:A20").Value = ""
无论单元格是否合并,每次都可以使用。您必须循环遍历每个单元格。合并单元格是魔鬼的工作。最初是这样的,然后我改为范围,看看它是否有效,然后也没有work@GordonBell不,没有。这是无效的
工作表.Range
语法。啊,我的错误,ws.Range(“NamedRange”).MergeArea.ClearContents有效。哦,我知道你现在做了什么。很好的更新。问题可能是您要求excel清除合并单元格中单个单元格的内容,我现在不知道如何解决。很抱歉
ws.Range("D10:F1000") = vbNullString
Range("A1:A20").Value = ""