Wps表格一键插入图片,调整大小,居中对齐位置

2026-01-18 07:44:50

1、打开WPS表格,找到开发工具,打开VBA编辑器,任意新建一个模块

Wps表格一键插入图片,调整大小,居中对齐位置

Wps表格一键插入图片,调整大小,居中对齐位置

Wps表格一键插入图片,调整大小,居中对齐位置

Wps表格一键插入图片,调整大小,居中对齐位置

2、Sub 优化过的插入图片()

Application.ScreenUpdating = False '关闭屏幕刷新

Dim rg As Range, k As Range, k1 As Range, picPath$, picTemp As Picture

Dim picwd As Integer, picht As Integer, k2 As Range, k3 As Range,k4 as Range

'取得有图片名称的单无格区域

'Set k2 = ThisWorkbook.ActiveSheet.Range("a1:c80").Find(what:="内容")

'Set k3 = ThisWorkbook.ActiveSheet.Range("a1:c80").Find(what:="小计")

'Set rg = Range("b" & (k2.Row + 1), "b" & (k3.Row - 1))

'或者手动选择有图片名称的单元格区域

Set k4= Selection

Set rg = Application.InputBox("选择图片显示区域:", "选择区域", Type:=8)

For Each k In rg

    On Error Resume Next '容错处理

    '选中图片名称的单无格右侧的单元格做为插入图片的地方

    Set k1 = k.Offset(0, 1)

    k1.Select

    ActiveSheet.Pictures(k & k.Row).Delete '删除老图片

    picPath = "E:\弋赢\报价图\" & Trim(k) & ".png" '选择插入图片

    Set picTemp = ActiveSheet.Pictures.Insert(picPath) '插入图片

 塑伐   picTemp.Name = k & k.Row

    picTemp.Placement = xlMoveAndSize '图片随单元格大小变化

    picwd = picTemp.Width ' 取得图片本身长度

    picht = picTemp.Height ' 取得图片本身宽度

    '如果图片长和宽都小于单元格就拉伸图片

    If picwd < k1.Width - 5 And picht < k1.Height - 5 Then

        picTemp.Width = k1.Width - 5

    End If

    '如果图片长度大于单元格的长度则缩小

    If picwd > k1.Width Then

        picTemp.Width = k1.Width - 5

        If picTemp.Height * n < k1.Height - 5 Then

            picTemp.Height = k1.Height - 5

        End If

   膨此 End If

    '如果图片长离没联度大于单元格的高度则缩小

    If picTemp.Height > k1.Height Then

        picTemp.Height = k1.Height - 5

    End If

    '给图片在单元格中居中

    picTemp.Left = k1.Left + k1.Width / 2 - picTemp.Width / 2

    picTemp.Top = k1.Top + (k1.Height - picTemp.Height) / 2

    Set picTemp = Nothing

Next

k4.Select '返回宏运行之前单元格

Application.ScreenUpdating = True '打开刷新

End Sub

3、在WPS表格窗口运行宏,名称为“优化过的插入图片”

Wps表格一键插入图片,调整大小,居中对齐位置

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢