excel - 使用形状的位置删除行
问题描述
我正在尝试根据形状的位置删除一行。在屏幕截图中,B7 中有一个蓝色形状,我想单击该形状,完全删除该行并将其下方的数据向上移动 1 行。
一旦我有了,我可以在每一行复制形状和随附的宏,以便用户可以删除他们想要的任何名称。
我做了一些搜索并从这段代码开始。
Sub Delete_Borrower()
'Macros ro delete individual borrowers fron dbase
Dim mysht As Worksheet
Dim myDropDown As Shape
Dim MLO As Range
Set mysht = ThisWorkbook.Worksheets("Borrower Database")
CallingShapeName = ActiveSheet.Shapes(Application.Caller).Name
Set MLO = Range(mysht.Shapes(CallingShapeName).TopLeftCell.Address)
MsgBox "OK" & MLO
'Code to delete row and shift rows below up one row
End Sub
解决方案
Sub NoSymbol1_Click()
Dim r As Range, shp As Shape
Set r = ActiveSheet.Shapes(Application.Caller).TopLeftCell 'find the range of the button clicked.
For Each shp In ActiveSheet.Shapes
If ActiveSheet.Shapes(Application.Caller).TopLeftCell = r.Address Then
shp.Delete
End If
Next shp
r.EntireRow.Delete
End Sub
推荐阅读
- ios - 解码后改变图像的方向
- c# - 如何在 Azure Web App 中禁用 web.config 重写规则?
- java - 为什么我的第二种方法的模拟会影响第一种方法?
- azure - 从 Azure 表存储中获取实体(限制 1)
- json - 无法使用 MasterPage 访问 webform aspx 中的隐藏字段值
- symfony - Symfony:扩展实体而不创建表
- blazor - 如何在 blazor Web 程序集中运行捆绑的 javascript 文件?
- php - SMTP 通知:在检查是否已连接时捕获到 EOF
- node.js - WSL 和 WSL2 上的 NodeJs 服务器无法在浏览器上访问
- php - 未定义变量:Blade Laravel 7.x 中的横幅