不知道为什么我的代码不起作用。我正在通过空白值“(空白)”过滤表中的列。然后将值“NA”插入第一个单元格并通过将填充 handle 向下拖动到列中的最后一个单元格来复制该值。然后再次取消过滤表,以便显示所有内容。
但是当我运行宏时,它所做的只是复制列标题名称并将其粘贴到第一个单元格中,仅此而已。
Sub InsertNAtoBlanks()
'
' InsertNAtoBlanks Macro
'
'
ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=11, Criteria1:= _
"="
Range("K4").Select
ActiveCell.FormulaR1C1 = "NA"
Range("K4").Select
Selection.FillDown
ActiveSheet.ListObjects("Table6").Range.AutoFilter Field:=11
End Sub
最佳答案
看起来您使用宏记录器来获取此代码。虽然宏记录器是查看要使用的对象的好方法,但它可以生成一些非常糟糕的代码!
试试这个策略
Sub Demo()
Dim lo As ListObject
Dim rng As Range
Set lo = ActiveSheet.ListObjects("Table6")
Set rng = lo.DataBodyRange.Columns(11)
rng.SpecialCells(xlBlanks) = "NA"
End Sub
或按名称引用列
Set rng = lo.ListColumns("YourColumnName").DataBodyRange
关于excel - 将值插入过滤器后表格列中的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20575791/