excel - 在单元格为空的地方插入空白行 vba
问题描述
我正在尝试向我的宏添加一些代码,以在“B”列中的值为空白时添加一个空白行。我有以下代码,但它没有做我想要的。它输入了太多的空白行。
Columns("B:B").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Insert
Sheets("Attendance Audit Hastus").Protect
关于我如何做到这一点的任何想法?
解决方案
您的代码在标准模块中完美运行,所以我认为您正试图在事件案例中使用它,在“出勤审计 Hastus”表中对吗?因此,您需要双击项目树中的工作表图标并输入以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Dim MRange As Range
Set MRange = Range("B:B")
If Not Intersect(Target, MRange) Is Nothing Then
For Each cell In Target
MRange.SpecialCells(xlCellTypeBlanks).Select
Next cell
End If
Application.EnableEvents = False
Selection.EntireRow.Insert
Application.EnableEvents = True
End Sub
请注意,此处使用Application.EnableEvents = False来防止级联事件的无限循环。操作后,您需要设置Application.EnableEvents = True以返回您的正常流程。
推荐阅读
- python - 在没有 sql 函数的情况下在 PySpark 中对数据框进行排序
- javascript - 引导按钮切换/切换状态
- excel - 如何在 GSHEETS(或 EXCEL)中格式化 20 位数字
- jenkins - Jenkins Amazon EC2 插件 WinRM 无限循环
- python - 为什么 AbstractSet 不包含并集和交集?
- visual-studio-2019 - 如何在 VS 2019 中调试意外的 MSTest 交互
- javascript - 在 Vue 组件中动态包装文本
- apache-spark - 如何在执行 map 之前获取特定分区的所有输入?
- python - 从作为参数给出的类继承
- javascript - eventstream zip 和 Bacon.when 有什么区别