Excel VBA:用户窗体选中图片导入工作表并保持宽高比与自适应
Excel VBA图片与单元格适配问题
我正在使用Excel VBA创建可接收用户选中图片的用户窗体,提交时需将图片放入关联工作表的A列,使图片保持宽高比且与单元格适配,如同相框与照片的关系。
我尝试了以下代码:
Dim EmptyRow As Long 'Make the Appointments worksheet active Worksheets("Appointments").Activate 'Determine the empty row EmptyRow = WorksheetFunction.CountA(Range("B:B")) + 1 'Insert and format photo Set photo = ActiveSheet.Pictures.Insert(ImagePath) With photo .Left = ActiveSheet.Cells(EmptyRow, 1).Left .Top = ActiveSheet.Cells(EmptyRow, 1).Top With .ShapeRange .LockAspectRatio = msoTrue .Width = ActiveSheet.Columns("A").ColumnWidth End With 'Set the format of the picture cell ActiveSheet.Rows(EmptyRow).RowHeight = photo.ShapeRange.Height .Placement = 1 End With
当前存在的问题:
- 插入时图片宽度未匹配单元格宽度
- 调整单元格尺寸时,图片宽高比未保持
- 图片与单元格尺寸未适配
我的需求:
插入图片阶段
- 图片宽高比得以保留
- 图片宽度等于所在列的列宽
- 所在行的行高等于图片高度
调整尺寸阶段(图片/单元格被调整时)
- 图片与单元格的宽高比保持不变
- 图片与单元格尺寸随调整自动适配
补充说明:经taller_ExcelHome建议修改后,插入的图片已能保留宽高比,宽度匹配A列列宽,高度按比例调整且行高同步,但拉宽列宽时,图片仅横向拉伸,高度未同步调整,行高也未变化,直接破坏了原本的宽高比。
内容的提问来源于stack exchange,提问作者MagicPolygon
相关产品推荐
相关产品推荐

