excel - Excel VBA 自动过滤器然后更改字段值并填写错误处理空白单元格的可能性
问题描述
列 M 的过滤数据未填充可见,因为我的输入更改为 M 列中第一个可见数据行在 M 中。它不是验证数据返回并向下填充第一行。没有跳过,因为没有数据要填写。
我已经尝试了许多不同的代码,我在可见和选择和填写时发现了这些代码,但无济于事。
Sub DataData ()
'Change Active Worksheet to Raw Data
Worksheets("Raw Data").Activate
Application.ScreenUpdating = False
ActiveSheet.Range("$A$1:$Z$" & Rows.Count).End(xlUp).AutoFilter Field:=4, Criteria1:= _
"*Data*"
With Worksheets("Raw Data").AutoFilter.Range
Range("M" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Select
End With
ActiveCell.FormulaR1C1 = " DataData "
With Worksheets("Raw Data").AutoFilter.Range
Range("M" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Select
End With
With ActiveSheet.UsedRange.Select
se
.Resize(.Rows.Count - 1).Offset(1).Columns("M"). _
SpecialCells(xlCellTypeVisible).FillDown
End With
ActiveSheet.ShowAllData
我正在尝试过滤第 4 列的数据,然后在该列的第一个可见单元格的 M 行中,输入 DataData(如果在过滤器中找到任何内容),然后仅填写列 M 中可见的第一个单元格中的可见数据。
解决方案
尝试解决我认为您正在做和想要的事情:
option explicit 'put this at the top of your module
Sub DataData()
Dim lr as long
With Sheets("Raw Data")
lr = .cells(.rows.count,1).end(xlup).row
.Range(.Cells(2,"M"),.Cells(lr,"M")).SpecialCells(xlCellTypeVisible).value = " DataData "
.ShowAllData
End With
End Sub