excel中Alt+F11打开宏编辑器,复制以下代码并保存,选中要调整的文档大小所在的列,运行宏代码即可快速完成

Sub 批量调整对象格式大小()

Dim shp As Shape

Dim col As Integer

col = Selection.Column '选定列号

For Each shp In ActiveSheet.Shapes

If shp.TopLeftCell.Column = col Then '判断是否在指定列中

With shp

.LockAspectRatio = msoFalse '取消锁定纵横比

.Height = .TopLeftCell.Height '将对象高度设置为单元格高度

.Width = .TopLeftCell.Width '将对象宽度设置为单元格宽度

.Top = .TopLeftCell.Top '将对象上边缘对齐单元格上边缘

.Left = .TopLeftCell.Left '将对象左边缘对齐单元格左边缘

.Top = .TopLeftCell.Top + .TopLeftCell.Height - .Height '将对象下边缘对齐单元格下边缘

.Left = .TopLeftCell.Left + .TopLeftCell.Width - .Width '将对象右边缘对齐单元格右边缘

End With

End If

Next shp

End Sub

这段 VBA 代码用于批量调整 Excel 中的对象格式大小。具体实现过程如下:

  1. 获取选定列号:使用 Selection.Column 属性获取用户选定的列号,以便判断对象是否在指定列中。
  2. 遍历所有对象:使用 ActiveSheet.Shapes 集合遍历所有对象,并使用 TopLeftCell 属性判断对象是否在指定列中。
  3. 调整对象格式大小:使用 LockAspectRatio 属性取消锁定纵横比,使用 Height 和 Width 属性将对象的高度和宽度设置为单元格的高度和宽度,使用 Top 和 Left 属性将对象的上边缘和左边缘对齐单元格的上边缘和左边缘,使用 Top 和 Left 属性将对象的下边缘和右边缘对齐单元格的下边缘和右边缘。

在这段代码中,还使用了一些 VBA 对象和属性,例如 Selection.Column 属性、ActiveSheet.Shapes 集合、TopLeftCell 属性、LockAspectRatio 属性、Height 和 Width 属性、Top 和 Left 属性等。