当前位置: 首页 > news >正文

Excel单元格中自适应填充多图

实例需求:在Excel插入图片时,由于图片尺寸各不相同,如果希望多个图片填充指定单元格,依靠用户手工调整,不仅费时费力,而且很难实现完全填充。如下图中的产品图册,有三个图片,如下图所示。

在这里插入图片描述

在不改变C列宽度的情况下,需要将三个图片调整为相同高度,并且填满单元格(可以修改行高)。

在这里插入图片描述

Sub Demo()Dim rngCell As Range, oShp As ShapeDim wAll As Double, r As Double, iLeft As DoubleSet rngCell = Range("C2")For Each oShp In Sheet1.ShapesoShp.LockAspectRatio = msoCTrueoShp.Height = 100wAll = wAll + oShp.Width + 1Nextr = rngCell.Width / (wAll + 1)iLeft = rngCell.Left + 1For Each oShp In Sheet1.ShapesoShp.Height = 100 * roShp.Top = rngCell.Top + 1oShp.Left = iLeftiLeft = iLeft + oShp.Width + 1NextrngCell.RowHeight = Sheet1.Shapes(1).Height + 2
End Sub

【代码解析】
第5行代码指定图片填充单元格。
第6~10行代码循环遍历工作表Sheet1中的图片。
第7行代码锁定图片的纵横比,避免调整图片尺寸导致图片变形。
第8行代码统一图片高度。
第9行代码统计图片的累计宽度,此处加一作为相邻图片之间的间隔。
第11行代码计算缩放比例。
第12行代码计算图片的水平偏移位置,第一图片的偏移量于单元格的Left属性相同,即对齐被填充单元格的左侧。此处增加偏移量为1,是为了避免图片覆盖单元格边框线。
第13~18行代码循环遍历工作表Sheet1中的图片,设置图片位置和尺寸。
第14行代码修改图片高度,由于锁定了纵横比,因此图片的宽度也会按同比例变化。
第15行代码设置图片Top属性于被填充单元格相同,即对齐被填充单元格顶部。
第16行代码调整图表位置。
第17行代码累加当前图片宽度,计算下一个图片位置。
第19行代码修改被填充单元格的高度,以适配图片高度。

http://www.lryc.cn/news/486540.html

相关文章:

  • 20.useMediaQuery
  • 无人机场景 - 目标检测数据集 - 车辆检测数据集下载「包含VOC、COCO、YOLO三种格式」
  • 聚合查询(查询)
  • QT QLineEdit失去焦点事件问题与解决
  • Remora
  • MySQL中将一个字符串字段按层级树状展开
  • vue面试题8|[2024-11-14]
  • ARM(安谋) China处理器
  • 基于python Django的boss直聘数据采集与分析预测系统,爬虫可以在线采集,实时动态显示爬取数据,预测基于技能匹配的预测模型
  • MATLAB实现GARCH(广义自回归条件异方差)模型计算VaR(Value at Risk)
  • 深入Linux基础:文件系统与进程管理详解
  • 缓存及其不一致
  • Leetcode 有效的数独
  • 《Java核心技术 卷I》用户界面中首选项API
  • Android 中的 Zygote 和 Copy-on-Write 机制详解
  • 【人工智能】从零开始用Python实现逻辑回归模型:深入理解逻辑回归的原理与应用
  • 推荐一款功能强大的光学识别OCR软件:Readiris Dyslexic
  • Python爬虫----python爬虫基础
  • css-50 Projects in 50 Days(3)
  • 另外一种缓冲式图片组件的用法
  • 字节青训-小C的外卖超时判断、小C的排列询问
  • PHP 伪静态详解及实现方法
  • Spring Boot 简单预览PDF例子
  • 【魔珐有言-注册/登录安全分析报告-无验证方式导致安全隐患】
  • LabVIEW 使用 Snippet
  • 单片机_day3_GPIO
  • Python小游戏24——小恐龙躲避游戏
  • Python 的多态笔记
  • go module使用
  • c ++零基础可视化——数组